KR102341689B1 - Solving np-complete problems without hyper-polynomial cost - Google Patents

Solving np-complete problems without hyper-polynomial cost Download PDF

Info

Publication number
KR102341689B1
KR102341689B1 KR1020167011170A KR20167011170A KR102341689B1 KR 102341689 B1 KR102341689 B1 KR 102341689B1 KR 1020167011170 A KR1020167011170 A KR 1020167011170A KR 20167011170 A KR20167011170 A KR 20167011170A KR 102341689 B1 KR102341689 B1 KR 102341689B1
Authority
KR
South Korea
Prior art keywords
assertions
dominant
contradictions
constraint
assertion
Prior art date
Application number
KR1020167011170A
Other languages
Korean (ko)
Other versions
KR20160136270A (en
Inventor
클레이톤 길스파이
Original Assignee
클레이톤 길스파이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 클레이톤 길스파이 filed Critical 클레이톤 길스파이
Publication of KR20160136270A publication Critical patent/KR20160136270A/en
Application granted granted Critical
Publication of KR102341689B1 publication Critical patent/KR102341689B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Abstract

충족 문제들 또는 충족 문제로 단순하게 축소시킬 수 있는 임의의 결정 또는 다른 문제 내에서, 본 발명은 함의들이 전파하는 경로들을 추적하고 조건부 모순들을 식별하며 이어서 모순들을 축출하기 위해 모순들을 함의적 경로들에서 후퇴하여 가정들 또는 다른 불합리한 단정들로 이동시킨다. 액션은 기존 방법들에 의해 초래되는 것보다 짧은 시간 내에 완료되고 그에 따라 그러한 문제들을 처리하는 디바이스들, 소프트웨어, 또는 프로세스들에 대한 성능 개선을 제공한다. 그러한 문제들은 우라늄의 제련; 파이프라인 라우팅; 얀 제조; 패브릭 절단, 톱질; 기계적 부품 설계; 데이터 프로세싱 시스템들의 구조적 설계; 회로들 또는 반도체 마스크들의 설계 및 분석; 컨테이너들, 파이프들, 및 갤러리들의 검사 및 감시; 궤도 위성 동작들; 데이터 압축; 화학적 분석; 단백질들의 설계 및 분석을 포함하여, 많은 기술 분야에 관련된 디바이스들, 소프트웨어, 및 프로세스들에 의해 처리된다.Within any decision or other problem that can be simply reduced to satisfaction problems or satisfaction problems, the present invention traces the paths through which implication propagates, identifies conditional contradictions, and then converts contradictions into implicit paths to evict contradictions. retreat from and shift to assumptions or other irrational assumptions. The action is completed in less time than would be caused by existing methods and thus provides a performance improvement for devices, software, or processes that address such issues. Such problems include the smelting of uranium; pipeline routing; yarn manufacturing; fabric cutting, sawing; mechanical part design; architectural design of data processing systems; design and analysis of circuits or semiconductor masks; inspection and monitoring of containers, pipes, and galleries; orbiting satellite operations; data compression; chemical analysis; It is handled by devices, software, and processes involved in many fields of technology, including the design and analysis of proteins.

Description

하이퍼-다항식 비용 없이 NP-완전 문제들을 풀이하는 것{SOLVING NP-COMPLETE PROBLEMS WITHOUT HYPER-POLYNOMIAL COST}Solving NP-complete problems without hyper-polynomial cost {SOLVING NP-COMPLETE PROBLEMS WITHOUT HYPER-POLYNOMIAL COST}

관련 출원들에 대한 상호-참조CROSS-REFERENCE TO RELATED APPLICATIONS

본 출원은 "하이퍼-다항식 비용 없이 NP 문제들을 풀이하기 위한 시스템, 방법 및 디바이스"라는 명칭으로, 2010년 6월 25일에 출원된, 미국 특허 출원 제12/823,652호, 현재는 미국 특허 8,577,825 B2에 관한 것이며, 이는 본 출원에서 참조로 이에 의해 원용된다.This application is entitled "Systems, Methods, and Devices for Solving NP Problems Without Hyper-Polynomial Cost" and is entitled US Patent Application Serial No. 12/823,652, filed Jun. 25, 2010, now US Patent 8,577,825 B2 to, which is hereby incorporated by reference in this application.

계산 복잡도 이론(computational complexity theory)은 계산 문제들의 내재된 어려움에 따라 이들을 분류하는 것에 초점을 맞추는 컴퓨터 과학의 분야이다. 하나의 그러한 분류는 비-결정성 튜링 기계(non-deterministic turing machine)상에서 실행하는 알고리즘에 의해 다항 시간(polynomial time) 내에 풀이될 수 있는 문제들의 부류인, "NP"이다. 알고리즘은 이의 실행 시간이 알고리즘에 대한 입력의 크기의 다항식 함수에 의해 상한-유계되는 경우, 즉, 어떤 상수 k에 대해 T(n) ∈ O(nk)인 경우 다항 시간 내에 실행하는 것이라고 한다. 본 발명은 뉴턴법(Newton Method), DPLL(Davis-Putnam-Logemann-Loveland) 알고리즘, 및 CDCL(Conflict-Driven Clause Learning) 알고리즘과 비교될 수 있다.Computational complexity theory is a branch of computer science that focuses on classifying computational problems according to their inherent difficulty. One such classification is "NP", a class of problems that can be solved in polynomial time by an algorithm running on a non-deterministic turing machine. An algorithm is said to run in polynomial time if its execution time is upper-bounded by a polynomial function of the magnitude of the input to the algorithm, that is, if T(n) ∈ O(n k ) for some constant k. The present invention can be compared to the Newton Method, Davis-Putnam-Logemann-Loveland (DPLL) algorithm, and Conflict-Driven Clause Learning (CDCL) algorithm.

본 발명의 실시예들은 튜닝을 필요로 하지 않고 다항 시간 내에 NP, NP-완전, 및 NP-난해 문제들의 자동화된 솔루션과 연관된 문제들을 처리한다. 본 발명의 실시예들은 컴퓨터-구현 방법들 및/또는 시스템들과 같은, 다양한 기술 중 임의의 기술을 사용하여 구현될 수 있다. "방법" 또는 "방법들"을 사용하여 구현되는 본 발명의 실시예들에 대한 본 출원에서의 임의의 언급은 방법들 및/또는 시스템들을 사용하여 구현되는 실시예들을 포함하는 것으로 이해되어야 한다. 유사하게, "시스템" 또는 "시스템들"을 사용하여 구현되는 본 발명의 실시예들에 대한 본 출원에서의 임의의 언급은 방법들 및/또는 시스템들을 사용하여 구현되는 실시예들을 포함하는 것으로 이해되어야 한다.Embodiments of the present invention address problems associated with automated solutions of NP, NP-complete, and NP-hard problems in polynomial time without requiring tuning. Embodiments of the invention may be implemented using any of a variety of technologies, such as computer-implemented methods and/or systems. Any reference in this application to embodiments of the invention implemented using a “method” or “methods” should be understood to include embodiments implemented using the methods and/or systems. Similarly, any reference in this application to embodiments of the invention implemented using a “system” or “systems” is understood to include embodiments implemented using the methods and/or systems. should be

본 발명의 실시예들은 튜닝을 필요로 하지 않고 다항 시간 내에 NP, NP-완전, 또는 NP-난해 문제들을 풀이하기 위한 방법을 제공한다.- 본 발명의 특정한 실시예들은 주어진 문제 정의를 하나 이상의 제약으로 구성된 식으로 변환하는 단계; 식의 변수들에 대해 가정된 값 술어들을 선택하는 단계; 가정들의 함의들을 전파하는 단계; 가정들의 함의들에 의해 야기되는 임의의 모순들을 식별하는 단계; 각 식별된 모순에 대해, 모순이 그것이 함의로서 해결할 대응 위치로 이동될 수 있는지를 결정하는 단계; 그렇게 이동될 수 있는 각 모순에 대해, 해당 모순을 이의 대응 위치로 이동시키는 단계; 및, 그렇게 이동될 수 없는 임의의 모순에 대해, 식이 충족 불가능하다는 것을 보고하는 단계를 포함하는 방법을 포함한다.Embodiments of the present invention provide a method for solving NP, NP-complete, or NP-hard problems in polynomial time without the need for tuning. - Certain embodiments of the present invention provide a method for solving a given problem definition with one or more constraints. transforming it into an expression consisting of selecting hypothesized value predicates for the variables of the expression; disseminating the implications of assumptions; identifying any contradictions caused by the implications of the assumptions; determining, for each identified contradiction, whether the contradiction can be moved to a corresponding position where it will resolve as its implications; for each contradiction that can be so shifted, moving the contradiction to its corresponding position; and, for any contradiction that cannot be so shifted, reporting that the expression is unsatisfiable.

본 발명의 실시예들은 튜닝을 필요로 하지 않고, 문제를 풀이하는 동안 발생하는 조건 모순들을 해결함으로써 논리 또는 숫자 문제의 풀이의 시간 요건을 개선시키기 위한 방법을 제공한다. 문제는 제약들로 형성되며, 이의 각각은 하나 이상의 변수를 포함한다. 문제를 풀이하는 것은 문제가 변수 값들의 집합에 의해 충족 가능한지 또는 식을 충족시키는 어떤 변수 값의 집합도 없을 때 충족 불가능한지를 결정하는 단계를 포함한다. 문제는 연언 표준형(CNF; conjunct normal form)의 논리식일 수 있고 따라서 그것이 제약들의 집합의 논리곱이며, 여기서 제약들의 각각은 몇몇 변수의 논리합이다. 방법은 컴퓨터에 대한 입력인 문제의 부분으로서, 변수들 중 0 이상의 값들에 관한 무조건적 단정들을 수신하는 단계; 무조건적 단정들의 주어(subject)가 아닌 변수들 중 하나 이상 변수의 값들에 관한 가정들을 만드는 단계; 및 문제의 다른 변수들에 대한 값들에 관한 항들의 단정들을 만들기 위해 가정들 또는 무조건적 단정들을 사용하는 단계를 포함한다. 제약은 기존 가정들 또는 단정들의 결과로서, 항들 중 하나를 제외한 모든 항의 값들이 한정될 때 항을 단정하도록 강제된다. 그 다음, 충족할 제약에 대해, 하나의 나머지 항은 단정되게 되고 모순을 생성하지 않고 부정(negate)될 수 없다. 단정된 항의 값이 이미 결정된 경우, 그것은 결정되게 된다. 이때, 제약은 단정되고, 그것이 단정된 항의 값이 결정되게 되도록 야기한다면, 그것을 단정 및 단정되는 제약이 우세하게 된다. 방법은 무조건적 단정들, 및 가정들, 또는 발생된 조건부 단정들에 반응하여 값들이 결정되는 바와 같이 변수들에 대해 값들을 설정하는 단계로 계속된다. 결정된 값을 갖지 않는 변수들은 자유 변수들이라 칭한다. 가정들을 만드는 단계, 단정들을 만드는 단계, 및 결정되는 바와 같이 변수들에 대해 값들을 설정하는 단계의 반복은 함의의 프로세스를 형성한다. 모순은 가정들에 따라 좌우될 수 있고 어떤 제약의 모든 항이 한정될 때 발생한다. 방법은 결과적으로 아직 한정되지 않은 다른 제약들에서의 동일한 변수의 항들을 한정하거나 동일한 변수의 불일치하는 단정된 값들 또는 가정들을 부정하는 제1 모순된 제약의 항의 값의 단정을 강제함으로써 모순을 이동시켜, 연접한 제2 제약에서의 모순을 가능한 대로 생성하고 제1 제약에서의 모순을 항상 해결한다. 방법은 문제에서 모순을 축출하도록 모순의 이러한 모션을 지향시킨다. 방법이 무조건적으로 부정되는 임의의 항의 값의 단정을 강제하지 않는 것이 바람직하다. 또한 모순의 모션의 방향이 모순이 축출될 수 없는 경우 탈출의 모든 가능한 경로가 탐색될 것과 같은 방식으로 선택되는 것이 바람직하다. 방법은 반대-단정된 항이 모션의 방향 뒤의 경로에 어떤 가정도 가지지 않을 때를 검출하고 해당 가정을 무조건적인 것으로 마킹한다. 방법은 자유 변수들의 카운트가 0이고 모든 모순이 축출된 경우 문제가 충족된다는 것을 보고함으로써, 또는 모든 항이 무조건적으로 부정되는 모순이 대면되는 경우 문제가 충족 불가능하다는 것을 보고함으로써 계속된다.Embodiments of the present invention provide a method for improving the time requirement of solving a logical or numeric problem by resolving conditional contradictions that occur while solving the problem, without requiring tuning. The problem is formed of constraints, each of which contains one or more variables. Solving a problem includes determining whether the problem is satiable by a set of variable values or unsatisfiable when there is no set of variable values that satisfy an expression. The problem may be a logical expression in conjunct normal form (CNF) and thus it is the logical product of a set of constraints, where each of the constraints is the logical sum of some variables. The method includes, as part of a problem that is input to a computer, receiving unconditional assertions about values of zero or more of variables; making assumptions about values of one or more of the variables that are not the subject of unconditional assertions; and using the assumptions or unconditional assertions to make assertions of terms about values for other variables in the problem. A constraint is constrained to assert a term when the values of all but one of the terms are bound as a result of existing assumptions or assertions. Then, for the constraint to be satisfied, one remaining term is asserted and cannot be negated without creating a contradiction. If the value of the asserted term has already been determined, it is determined. At this time, a constraint is asserted, and if it causes the value of the asserted term to be determined, then the constraint asserted and asserted prevails. The method continues with setting values for the variables as values are determined in response to unconditional assertions and assumptions, or conditional assertions generated. Variables that do not have a determined value are called free variables. The repetition of making assumptions, making assumptions, and setting values for variables as determined forms a process of implication. A contradiction can depend on assumptions and arises when all terms of a constraint are bound. The method consequently shifts the contradiction by forcing the assertion of the value of the term of the first contradictory constraint that either qualifies the terms of the same variable in other constraints that are not yet defined or negates inconsistent asserted values or assumptions of the same variable. , creates a contradiction in the concatenated second constraint as much as possible and always resolves the contradiction in the first constraint. The method directs this motion of contradiction to expel it from the problem. It is preferred that the method does not force the assertion of the value of any term that is unconditionally negated. It is also desirable that the direction of motion of the contradiction be chosen in such a way that all possible paths of escape will be searched for if the contradiction cannot be evicted. The method detects when the opposite-asserted term has no assumptions on the path behind the direction of motion and marks that assumption as unconditional. The method continues by reporting that the problem is satisfied if the count of the free variables is zero and all contradictions are expelled, or by reporting that the problem is unsatisfactory if a contradiction is encountered in which all terms are unconditionally negated.

그러한 실시예들의 기술적 결과는 랜덤 액세스 메모리(RAM)가 이전의 직선적 시간 요건과 비교하여 로그형(logarithmic)인 데이터 액세스 시간의 개선을 제공하고, 그러한 비(ratio)는 다항 시간 및 하이퍼-다항 시간 간 비와 유사하기 때문에 RAM의 본 발명에 필적할 만하다. RAM 없이 많은 현재 제품은 불가능할 수 있고, 유사하게 많은 새로운 제품이 본 발명의 실시예들의 도입으로 가능해질 것이다.The technical result of such embodiments is that random access memory (RAM) provides an improvement in data access times that are logarithmic compared to previous linear time requirements, such ratios being polynomial time and hyper-polynomial time. It is comparable to the present invention of RAM because it is similar to the liver ratio. Many current products without RAM may not be possible, and similarly many new products will become possible with the introduction of embodiments of the present invention.

도 1은 요약된 제약들로서 티어드롭들(teardrops)을 파라미터화하는 프로세스가 DPLL 및 CDCL이 그러한 바와 같이, 튜닝을 일부 형성하지 않고 하이퍼-다항식 계산 비용을 회피하기에 불충분하다는 것을 예로 증명하는 변수 및 제약 다이어그램을 도시한다.
도 2는 본 발명의 일 실시예에 따라 구현되는 컴퓨터 시스템에 의해 수행되는 방법의 흐름도를 도시한다.
도 1을 참조하면, 변수 및 제약 다이어그램에서, 흰 원들은 변수들을 나타내고 선들을 제약들을 나타낸다. 항은 변수 원을 횡단하는 제약 선에 의해 표현된다. 수직 방향으로 변수 원을 횡단하는 선들은 해당 변수에 대해 'O' 값 술어를 갖는 항들을 나타낸다. 수평 방향으로 변수 원을 횡단하는 선들은 해당 변수에 대해 'X' 값 술어를 갖는 항들을 나타낸다. 변수 원들은 라틴 알파벳의 문자로 라벨링된다. 도 1에서 표현되는 식은 이하 표에서 표현되는 식과 동일하다:

Figure 112016040516120-pct00001

표의 좌측은 다이어그램에서 라벨링되지 않은 제약들을 숫자로 라벨링하고, 표의 상측은 다이어그램에 나타나는 변수들의 라벨들을 반복한다.
xB가 가정될 때, 이하 단정들이 강제된다: oT, oU.
그 다음 xC, xD, xE, 및 xF가 가정될 때, 어떤 후속 단정도 뒤따르지 않는다.
그 다음 xG가 가정될 때, 이하 단정들이 강제된다: xR, xS, oP, oQ, xM, xN, 및 oZ 또는 xZ 중 어느 하나. 이때, 제약들은 논리식으로 존재한다. 우리는 모순이 제약 23에 존재한다고 추정할 것이다.
이제 우리는 계층화된 근거들을 사용하여 요약된 제약들로서 티어드롭들을 파라미터화하는 알고리즘의 거동을 설명한다:
제약 23에서의 모순은 이의 근거 상 세 개의 가정, xB, xC, 및 xG를 갖는다. 계층화된 근거들이 사용되고 있기 때문에, 이러한 티어드롭의 촉진 요인은 xG를 포함하는 경로에 있어야 한다. 이러한 경우에서 식별된 촉진 요인은 xG 그 자체이다. 생성되는 요약된 제약은 이하 항들을 포함하는 선언구: oB, oC, oG이다.
가장 최근 가정 및 그것이 수반하는 단정들을 제거하는 것의 결과는 oG가 단정되고 어떤 후속 단정도 뒤따르지 않는다는 것이다.
그 다음 xH가 가정될 때, 이하 단정들이 강제된다: xR, xS, oP, oQ, xM, xN, 및 oZ 또는 xZ 중 어느 하나. 이때 모순이 이의 근거 상 세 개의 가정, xB, xC, 및 xH를 갖는 제약들 23 또는 24 중 어느 하나에 존재한다. 계층화된 근거들이 사용되고 있기 때문에, 이러한 티어드롭의 촉진 요인은 xH를 포함하는 경로에 있어야 한다. 이러한 경우에서 식별된 촉진 요인은 xH 그 자체이다. 생성되는 요약된 제약은 이하 항들을 포함하는 선언구이다: oB, oC, oH.
가장 최근 가정 및 그것이 수반하는 단정들을 제거하는 것의 결과는 oH가 단정되고 어떤 후속 단정도 뒤따르지 않는다는 것이다.
그 다음 xJ가 가정될 때, 이하 단정들이 강제된다: xR, xS, oP, oQ, xM, xN, 및 oZ 또는 xZ 중 어느 하나. 이때 모순이 이의 근거 상 세 개의 가정, xB, xC, 및 xJ를 갖는 제약들 23 또는 24 중 어느 하나에 존재한다. 계층화된 근거들이 사용되고 있기 때문에, 이러한 티어드롭의 촉진 요인은 xJ를 포함하는 경로에 있어야 한다. 이러한 경우에서 식별된 촉진 요인은 xJ 그 자체이다. 생성되는 요약된 제약은 이하 항들을 포함하는 선언구이다: oB, oC, oJ.
가장 최근 가정 및 그것이 수반하는 단정들을 제거하는 것의 결과는 oJ가 단정되고 이는 이하 단정들을 강제한다는 것이다: xK, xR, xS, oP, oQ, xM, xN, 및 oZ 또는 xZ 중 어느 하나. 이때 모순이 이의 근거 상 두 개의 가정, xB 및 xC를 갖는 제약들 23 또는 24 중 어느 하나에 존재한다. 계층화된 근거들이 사용되고 있기 때문에, 이러한 티어드롭의 촉진 요인은 xC를 포함하는 경로에 있어야 한다. 이러한 경우에서 식별된 촉진 요인은 xC 그 자체이다. 생성되는 요약된 제약은 이하 항들을 포함하는 선언구이다: oB, oC.
가장 최근 가정 및 그것이 수반하는 단정들을 제거하는 것의 결과는 oC가 단정되고 어떤 후속 단정도 뒤따르지 않는다는 것이다.
이제 설정되는 패턴을 따르면, 이하 요약된 제약들이 생성된다: (oB, oD, oG), (oB, oD, oH), (oB, oD, oJ), (oB, oD), (oB, oE, oG), (oB, oE, oH), (oB, oE, oJ), (oB, oE), (oB, oG), (oB, oH), (oB, oJ), (oB). C, D, E, F, G, H, J, 및 K의 추가 가정들은 어떤 모순도 생성하지 않는다.
변수들(C, D, E, 및 F)은 다른 변수들과 동일한 연결들을 갖고, 변수들(G, H, J, 및 K)에 대해 동일하게 언급될 수 있다. 우리는 변수들(C, D, E, F, M, N, P, 및 Q)을 G, H, J, K, R, S, T, 및 U, 다른 그러한 블록의 내부 연결들과 합동인 내부 연결들을 갖는 제약들 및 변수들의 블록으로서 해석할 수 있다; 그리고 우리는 집합들({C, D, E, F} 및 {G, H, J, K})의 원소수를 이들 블록의 "크기"로서 해석할 수 있다. 이들 블록은 B의 항들을 포함하는 제약들로 구성되는 초기 세그먼트, 및 Z의 항들을 포함하는 제약들로 구성되는 말단 세그먼트와 일렬로 연결된다.
본 예에 의해 생성되는 요약된 제약들의 수는 블록들의 크기들의 프로덕트와 동일하다. 동일하게 연결된 집합들에서의 변수들의 수가 달라진다면, 생성되는 요약된 제약들의 수는 초기 세그먼트에 인접한 블록이 1로 감소되는 이의 크기를 갖지 않는 한, 계속해서 크기들의 프로덕트가 된다. 추가적인 블록들이 연결 내로 삽입되는 경우, 생성되는 요약된 제약들의 수는 B가 제1 가정의 변수를 유지하는 한, 그리고 초기 세그먼트에 인접한 블록이 항상 가정들이 만들어지는 마지막 블록이 되는 한, 모든 블록의 크기들의 프로덕트일 것이다. 블록 크기들의 프로덕트는 하이퍼-다항식 수이고, 따라서 상기 설명에서 사용된 방법은 하이퍼-다항식 비용 없이 해를 제공하지 않는다.
순서에 관계없이, 동일한 가정들이 주어지면, 요약된 제약들로서 티어드롭들을 파라미터화하지 않는, 본 발명의 실시예들은 oB가 블록들의 크기들의 프로덕트인 Z를 통한 다수의 횡단보다는 Z를 통한 단일 반대-역전으로 무조건적으로 단정된다는 결론에 이를 것이다. 조금 어렵지만, 요약된 제약들을 생성하는 예시적인 알고리즘이 모순들을 근위 공간을 통해 이동시키나, 전이들(transitions)이 모순들을 하나의 티어드롭에서 직접적으로 다른 티어드롭으로 이동시킨다는 것을 이해하는 것이 가능하고, 각 티어드롭은 우리가 또한 최신 가정이 제거될 때 발생하는 단정이 반대-단정이 되는 것으로 이해한다면, 그러한 반대-단정이 이의 근거 상 더 이상 최신 가정을 가지지 않는다는 것은 항상 사실이라는 그런 것이다. 반면에, 본 발명의 실시예들은 모순들을 동일한 근접 공간을 통해 연접하게 이동시키기 때문에, 그것들은 예시적인 알고리즘이 파악되지 못하거나 단지 노력을 많이 한 후 감지된다는 관계들을 감지할 수 있고, 이러한 감지는 특히 모순이 촉진 요인이 아닌 이전의 발산 지점을 통해 역전하고 따라서 최신 가정이 반대-단정의 근거에서 제거될 때, 또는 모순이 가정을 부정되게 하고 반대-단정 또는 함의가 단일 계층 밖에서 계속될 때 발생한다.
하이퍼-다항식 비용를 회피할 수 있는 요약된 제약들을 생성하는 논의된 알고리즘에 대한 임벨리쉬먼트들(embellishments)이 있다. 하나의 그러한 임벨리쉬먼트는 초기 세그먼트에 그리고 그 다음 초기 세그먼트에 대해 이들의 접근 순서로 블록들에 가정들을 적용하는 것이다. 그러한 임벨리쉬먼트는 예를 들어, 어떤 값 술어들이 가정들이 되어야 하는지를 결정하기 위해 식의 전반적인 구조의 사전 분석을 필요로 하고, 사전 분석을 필요로 하는 임벨리쉬먼트들은 식의 특정한 구조에 대한 알고리즘을 효과적으로 튜닝한다. 다른 임벨리쉬먼트들은 보통 식의 구조의 사전 분석 없이 모든 경우에 작용하지 않으며, 이는 이 문제에 대해 클레이 수학 7대 난제가 이전에 수여되지 않았던 이유이다. 본 발명의 실시예들은 식의 구조의 사전 분석 없이 모든 경우에 작용하는 개선들을 포함한다.1 is a variable demonstrating that the process of parameterizing teardrops as summarized constraints is insufficient to avoid hyper-polynomial computation cost without forming some tuning, as DPLL and CDCL do, and A constraint diagram is shown.
2 shows a flowchart of a method performed by a computer system implemented in accordance with an embodiment of the present invention.
1 , in the Variables and Constraints diagram, white circles represent variables and lines represent constraints. A term is represented by a constraint line that intersects the variable circle. Lines that cross the variable circle in the vertical direction represent terms with an 'O' value predicate for that variable. Lines that cross the variable circle in the horizontal direction represent terms with an 'X' value predicate for that variable. Variable circles are labeled with letters of the Latin alphabet. The formula represented in FIG. 1 is the same as the formula represented in the table below:
Figure 112016040516120-pct00001

The left side of the table numerically labels constraints that are not labeled in the diagram, and the top side of the table repeats the labels of variables that appear in the diagram.
When xB is assumed, the following predicates are enforced: oT, oU.
Then, when xC, xD, xE, and xF are assumed, no subsequent assertions follow.
Then, when xG is assumed, the following assertions are enforced: xR, xS, oP, oQ, xM, xN, and either oZ or xZ. In this case, the constraints exist as logical expressions. We will assume that a contradiction exists in constraint 23.
We now describe the behavior of the algorithm to parameterize tierdrops as constraints summarized using stratified rationales:
The contradiction in constraint 23 has three assumptions on its basis, xB, xC, and xG. Since stratified evidence is being used, the facilitator of this teardrop must be in the path involving xG. The facilitating factor identified in this case is xG itself. The resulting summarized constraint is a declaration containing the following clauses: oB, oC, oG.
The consequence of removing the most recent assumption and the assertions it entails is that the oG is asserted and not followed by any subsequent assertions.
Then, when xH is assumed, the following assertions are enforced: xR, xS, oP, oQ, xM, xN, and either oZ or xZ. A contradiction then exists in either constraint 23 or 24, which on its basis has three assumptions, xB, xC, and xH. Since stratified evidence is being used, the facilitator of this teardrop must be in the path involving xH. The facilitating factor identified in this case is xH itself. The resulting abstract constraint is a declarative statement containing the following clauses: oB, oC, oH.
The consequence of removing the most recent assumption and the assertions it entails is that oH is asserted and not followed by any subsequent assertions.
Then, when xJ is assumed, the following assertions are enforced: xR, xS, oP, oQ, xM, xN, and either oZ or xZ. A contradiction then exists in either constraint 23 or 24, which on its basis has three assumptions, xB, xC, and xJ. Since stratified evidence is being used, the facilitator of this teardrop must be in the path involving xJ. The facilitating factor identified in this case is xJ itself. The resulting abstract constraint is a declarative statement containing the following clauses: oB, oC, oJ.
The result of removing the most recent assumption and the assertions it entails is that oJ is asserted, which forces the following assertions: xK, xR, xS, oP, oQ, xM, xN, and either oZ or xZ. A contradiction then exists in either constraint 23 or 24, which has two assumptions on its basis, xB and xC. Since stratified evidence is being used, the facilitator of this teardrop should be in the path involving xC. The facilitating factor identified in this case is xC itself. The resulting abstract constraint is a declarative statement containing the following clauses: oB, oC.
The result of removing the most recent assumption and the assertions it entails is that the oC is asserted and not followed by any subsequent assertions.
Now following the established pattern, the following summarized constraints are created: (oB, oD, oG), (oB, oD, oH), (oB, oD, oJ), (oB, oD), (oB, oE, oG), (oB, oE, oH), (oB, oE, oJ), (oB, oE), (oB, oG), (oB, oH), (oB, oJ), (oB). The additional assumptions of C, D, E, F, G, H, J, and K do not create any contradictions.
Variables C, D, E, and F have the same connections as other variables and can be referred to the same for variables G, H, J, and K. We find that the variables C, D, E, F, M, N, P, and Q are congruent with G, H, J, K, R, S, T, and U, other internal connections of such blocks. It can be interpreted as a block of constraints and variables with internal links; And we can interpret the number of elements in the sets {C, D, E, F} and {G, H, J, K} as the "size" of these blocks. These blocks are connected in series with an initial segment consisting of constraints containing terms of B, and an end segment consisting of constraints containing terms of Z.
The number of summarized constraints created by this example is equal to the product of the sizes of blocks. If the number of variables in the identically connected sets is different, the number of summarized constraints created continues to be a product of sizes, unless the block adjacent to the initial segment has its size reduced to one. When additional blocks are inserted into the concatenation, the number of abstracted constraints created is the number of abstract constraints of every block, as long as B holds the variable of the first assumption, and as long as the block adjacent to the initial segment is always the last block for which assumptions are made. It will be a product of sizes. The product of block sizes is a hyper-polynomial number, so the method used in the above description does not provide a solution without hyper-polynomial cost.
Irrespective of order, given the same assumptions, embodiments of the invention, which do not parameterize tierdrops as summarized constraints, show a single opposing-through Z rather than multiple traversals through Z where oB is the product of the sizes of blocks. We will come to the conclusion that the inverse is unconditionally determined. Although a bit difficult, it is possible to understand that the exemplary algorithm for generating the summarized constraints moves contradictions through the proximal space, but transitions move contradictions directly from one tierdrop to another tierdrop, Each tierdrop is such that if we also understand that an assertion that occurs when the latest assumption is removed is to be an anti-assert, then it is always true that such a counter-assert no longer has an up-to-date assumption on its grounds. On the other hand, since embodiments of the present invention move contradictions contiguously through the same proximate space, they can detect relationships in which the exemplary algorithm is not grasped or is only detected after a lot of effort, and such detection is In particular, it occurs when a contradiction reverses through a previous divergence point that is not a facilitating factor and thus the latest assumption is removed from the basis of the counter-assert, or when the contradiction makes the assumption negated and the counter-assert or implication continues outside a single hierarchy. do.
There are implementations to the algorithm discussed that produce abstracted constraints that can avoid hyper-polynomial cost. One such implementation is to apply assumptions to blocks in the order of their access to the initial segment and then to the initial segment. Such implementations require a prior analysis of the overall structure of the expression to determine, for example, which value predicates should be assumptions, and implementations requiring prior analysis require a prior analysis of the particular structure of the expression. Tune the algorithm effectively. Other enhancements usually do not work in all cases without a prior analysis of the structure of the expression, which is why the Seven Great Difficulties of Clay Mathematics has not been previously awarded for this problem. Embodiments of the present invention include improvements that work in all cases without prior analysis of the structure of the equation.

본 발명의 실시예들은 "NP," "NP-완전", 및 "NP-난해"라 지칭되는 복잡도 부류들에서의 문제들을 풀이하는 기계들의 성능을 개선하기 위한 시스템들, 방법들, 및/또는 디바이스들을 제공한다.Embodiments of the present invention provide systems, methods, and/or systems for improving the performance of machines for solving problems in complexity classes referred to as “NP,” “NP-complete,” and “NP-difficult.” devices are provided.

"P"는 다항 시간 내에 결정성 튜링 기계에 의해 풀이될 수 있는 문제들의 부류이다. 결정성 튜링 기계는 직렬 또는 제한된 병렬-프로세싱에 관여한다. "NP"는 다항 시간 내에 비-결정성 튜링 기계에 의해 풀이될 수 있는 문제들의 부류이다. 비-결정성 튜링 기계는 무제한의 병렬-프로세싱이 가능하다. "NP-완전"은 P의 이의 일원이 의문시되는 NP 난해 문제들의 서브집합이다. NP-완전 문제들의 예들은 여행하는 외판원 문제(Traveling Salesman Problem) 및 충족 가능성 또는 충족(SAT) 문제이다. NP-완전 문제들은 다수의 기술 분야에 속한다. "NP-난해" 문제들은 NP-완전인 것으로 알려진 성분을 가지나 그것들의 다른 성분들을 갖는 문제들이고 그것들의 다른 성분들은 다루기 쉬우나 그 이외에는 분류되지 않는다."P" is a class of problems that can be solved by a deterministic Turing machine in polynomial time. Deterministic Turing machines engage in serial or limited parallel-processing. "NP" is a class of problems that can be solved by non-deterministic Turing machines in polynomial time. Non-deterministic Turing machines are capable of unlimited parallel-processing. "NP-complete" is a subset of NP esoteric problems whose members of P are questioned. Examples of NP-complete problems are the Traveling Salesman Problem and the Satisfaction or Satisfaction (SAT) problem. NP-complete problems fall into a number of technical disciplines. "NP-difficult" problems are those that have a component known to be NP-complete but have other components of which are easy to handle but not otherwise classified.

연언 표준형(conjunct normal form)은 각 제약이 하나 이상의 선언("ORed") 논리항으로 구성되는 연언("ANDed") 제약들의 리스트로서 식을 나타낸다. "항"은 특정한 값 할당이 특정한 제약의 맥락에서 발생하는 특정한 변수에 대한 값 할당(보통 "참" 또는 "거짓")의 특정한 인스턴스이다. 따라서, 항은 특정한 제약의 맥락에서의 변수의 값이다. 상이한 제약에서의 동일한 변수의 동일한 값은 상이한 항을 나타낸다. NP에 있는 임의의 문제의 표현이 하이퍼-다항식 비용을 초래하지 않는 연언 표준형의 논리식에 대한 변환을 가진다는 것이 공지되어 있다.The conjunct normal form represents an expression as a list of conjunct constraints, where each constraint consists of one or more declarative ("ORed") logical terms. A "term" is a particular instance of a value assignment (usually "true" or "false") to a particular variable in which the particular value assignment occurs in the context of a particular constraint. Thus, a term is the value of a variable in the context of a particular constraint. The same value of the same variable in different constraints represents different terms. It is known that the representation of any problem in NP has a transformation to a logical expression of the predicate canonical form that does not incur hyper-polynomial cost.

계산적으로, 공간 및 시간은 다항식으로 교환 가능하고, 따라서 우리는 특히 다항 시간에 대해서 보다는 일반적으로 다항식 비용에 대해 이야기한다. 따라서 결정성 기계를 이용하여 다항 시간 내에 임의의 연언 표준형 식들의 충족 가능성을 결정할 수 있는 것은 하이퍼-다항식 비용 없이 임의의 NP-완전 또는 보다 단순한 문제를 풀이할 수 있는 것과 동등하다.Computationally, space and time are polynomially interchangeable, so we are talking about polynomial cost in general rather than polynomial time in particular. Therefore, being able to use a determinism machine to determine the satisfaction of any predicate canonical expressions in polynomial time is equivalent to being able to solve any NP-complete or simpler problem without the hyper-polynomial cost.

본 발명 이전에, NP-완전 문제들뿐만 아니라, 정수 팩토링(Integer Factoring)과 같은, 많은 다른 NP 문제에 대한 솔루션들은 문제에 표현되는 변수들에 대해 가능한 값 할당들의 완전한 탐색을 필요로 하거나, 또는 그 외 N3와 같은 다항식 비용보다는, N! 또는 3N과 같은, 하이퍼-다항식 비용을 필요로 해왔으며, 여기서 N은 문제에 대한 입력의 크기이다. 그에 반해, 본 발명의 실시예들은, 문제에서 표현되는 변수들에 대해 가능한 값 할당들의 완전한 탐색을 필요로 하지 않고, 그리고 그 외 하이퍼-다항식 비용을 필요로 하지 않고, NP-완전 문제들, 및 다른 NP 문제들에 대한 솔루션들을 발견할 수 있다. 종래 컴퓨터에서의 곱셈 회로가 255 및 37의 프로덕트가 제2 인수의 값에 비례하는 수보다는 이의 레지스터들(각 "제로" 비트에 대한 결과를 시프트하고 제2 인수에서의 각 "하나의" 비트에 제1 인수를 가산한다)에서의 비트들의 수에 비례하는 다수의 단일 단계로 계산될 수 있게 하며(반복적 가산), 이는 계산 비용의 로그형 감소임에 따라, 본 발명의 실시예들은 컴퓨터가 종래부터 널리 사용되고 있든 또는 특별한 목적을 위해 만들어졌든, NP-완전 문제들 또는 다른 NP 문제들을 하이퍼-다항식인 수보다는 문제에서의 변수들의 수의 5분의 1 지수에 비례하는 수보다 적은 다수의 단일 단계로 풀이할 수 있게 한다. 그렇게 함으로써 본 발명의 실시예들은 직선형으로부터 로그형으로의 비용 감소에 필적할 만한 계산 비용의 감소를 가능하게 한다.Prior to the present invention, solutions to NP-complete problems, as well as many other NP problems, such as Integer Factoring, require a complete search of possible value assignments to the variables represented in the problem, or Otherwise, rather than polynomial costs such as N 3 , N! or a hyper-polynomial cost, such as 3 N , where N is the size of the input to the problem. In contrast, embodiments of the present invention do not require a full search of possible value assignments for the variables represented in the problem, and do not otherwise require hyper-polynomial cost, NP-complete problems, and Solutions to other NP problems can be found. Multiplication circuitry in conventional computers allows the product of 255 and 37 to shift the result for each "zero" bit in its registers (shifting the result for each "zero" bit and adding to each "one" bit in the second factor) rather than a number proportional to the value of the second factor. Since it allows computation in a number of single steps proportional to the number of bits in the first factor (adding the first factor) (iterative addition), which is a logarithmic reduction in computational cost, embodiments of the present invention allow a computer to NP-complete problems or other NP problems, whether widely used or purpose-built since to be able to solve it with In doing so, embodiments of the present invention enable a reduction in computational cost comparable to a reduction in cost from linear to logarithmic.

컴퓨터들이 발명된 하나의 이유는 어려운 문제들을 확실하게 그리고 빠르게 풀이하는 것이었다. 컴퓨터 프로세서들 및/또는 컴퓨터들로서 구현될 수 있는, 본 발명의 실시예들은 자동 컴퓨팅 디바이스에 대해 뿐만 아니라 이들의 거동을 제어하기 위해 컴퓨터들을 사용하는 다른 기계들에 대해 매우 중요한 개선을 제공한다. 이러한 개선은 결정들이 계산되는 동안 컴퓨터를 설정 및 작동하기 위해 요구되는 전력, 냉각, 렌트, 및 다른 비용의 양을 크게 감소시킬 뿐만 아니라, 컴퓨터의 조작자들이 결과를 기다려야 하는 시간을 감소시킨다. 본 발명의 실시예들을 이용하여 증강되는 자동 컴퓨팅 디바이스는 더 이상 종래 방식으로 프로그램되는 것을 필요로 하지 않을 수 있다; 대신, 그러한 디바이스 또는 시스템은 그것들이 구조적 요건들이든 거동적 요건들이든, 제약들의 집합을 충족될 요건들로서 수용하고, 기계는 그러한 제약들을 충족시키는 방식으로 결과를 출력하거나 작동한다.One reason computers were invented was to solve difficult problems reliably and quickly. Embodiments of the present invention, which may be implemented as computer processors and/or computers, provide a very significant improvement to automatic computing devices as well as other machines that use computers to control their behavior. This improvement greatly reduces the amount of power, cooling, rental, and other costs required to set up and operate the computer while decisions are being computed, as well as the time the computer's operators have to wait for results. An automated computing device augmented using embodiments of the present invention may no longer require being programmed in a conventional manner; Instead, such a device or system accepts a set of constraints as requirements to be met, whether they are structural or behavioral requirements, and the machine outputs or operates a result in a manner that satisfies those constraints.

본 발명의 실시예들이 컴퓨터들 및 자동화된 프로세스들을 수행하는 다른 디바이스들의 성능에 대한 이들의 개선들을 전달할 수 있는 하나의 수단은 컴퓨터 내에 스위치들의 특정한 배열을 도입하는 것에 의하고 이들 스위치는 배타적인 물리적 속성에 의존적이다. 페르미온들 간 배타성은 동일한 유형의 어떤 두 개의 페르미온, 또는 입자가 동시에 동일한 공간을 점유할 수 없다는 점에서 고유하다; 따라서 하나의 입자를 위치로 밀고 들어가는 것은 하나의 기어의 이(teeth)가 제1과 꼭 맞물리게 되는 다른 기어의 이에 대고 밀 때와 같이, 다른 입자를 위치 밖으로 밀쳐내고, 따라서 단지 외력을 그것에 가하면서 양 기어의 위치들을 스위칭할 수 있다. 보손들(bosons) 간 배타성은 트랜지스터에서와 같이, 우리가 캐리어들에 걸쳐 조작할 수 있는 퍼텐셜들에서 고유하다 - 우리는 퍼텐셜이 항상 하이 또는 로우 중 어느 하나라는 것을 어레인지한다. 다양한 기판상에서 작동하는 스위치들의 많은 유형이 널리 공지되어 있고, 본 발명의 실시예들에 의해 제공되는 개선이 스위치 또는 기판의 유형보다는 스위치들의 배열에 내재되기 때문에, 스위치들의 특정한 유형들에 특유한 언어는 본 발명의 설명에서 사용되지 않고, 집합들, 배열들, 또는 네트워크들의 논의와 같은, 추상적인 듯한 언어가 본 발명의 실시예인 스위치들의 배열에 대해 원하는 거동을 정확하게 설명하기 때문에 해당 언어가 사용된다. 이러한 언어의 사용은 설명된 대상을 생산하는 방법이 해당 기술분야들의 종사자들에 의해 널리 공지되어 있기 때문에, 기어를 생산하는데 사용될 수 있는 카빙(carving) 또는 주조(casting)를 설명하지 않고 그리고 그것이 나무로 만들어지는지 또는 금속으로 만들어지는지를 명시하는 것보다는 아마도 그것이 만들어진 재료의 상대적 강성도를 명시하여, 우리가 기어의 구조를 어떻게 설명할 수 있을지와 유사하다. 이러한 언어의 사용은 우리가 그러한 부품들이 이용 가능하다는 것 및 설명된 효과를 초래하기 위해 그것들의 부품들을 어떻게 장착하는지가 해당 기술분야의 종사자들에게 널리 공지되어 있기 때문에, 기성 부품들의 각각을 구성하기 위한 세부 사항들을 설명하지 않고, 우리가 싱커페이션 및 회전비들의 어휘로 기성 기어들 및 스프링들의 집합으로 구성되는 시계장치 메커니즘을 어떻게 설명할 수 있는지와 유사하다. 그러나 기계들 및 기계들을 제어하는 방법들을 설명하는데 사용될 수 있는 언어를 어떻게 추출하든, 언어의 이러한 사용 중 어떤 것도 본 발명의 실시예들이 그러한 기계들로서 그리고 방법들로서 구현될 수 있다는 사실을 배제하지 않는다.One means by which embodiments of the present invention may deliver their improvements to the performance of computers and other devices that perform automated processes is by introducing a specific arrangement of switches within the computer, which switches have exclusive physical properties. is dependent on Exclusivity between fermions is unique in that no two fermions, or particles, of the same type can occupy the same space at the same time; So pushing one particle into position pushes another particle out of position, just like when the teeth of one gear push against the teeth of another gear that meshes with the first, thus pushing the other particle out of position and thus only applying an external force to it. The positions of the gears can be switched. Exclusivity between bosons is inherent in potentials that we can manipulate across carriers, as in transistors - we arrange that the potential is always either high or low. Since many types of switches operating on a variety of substrates are well known and the improvement provided by embodiments of the present invention is inherent in the arrangement of switches rather than the type of switch or substrate, the language specific to particular types of switches is It is not used in the description of the present invention, but rather abstract-looking language, such as a discussion of sets, arrangements, or networks, because it accurately describes the desired behavior for an arrangement of switches that is an embodiment of the present invention. The use of this language does not describe the carving or casting that may be used to produce gears, as methods of producing the described objects are well known by those skilled in the art, and that Rather than specifying whether it is made of metal or metal, perhaps by specifying the relative stiffness of the material from which it is made, similar to how we might describe the structure of a gear. The use of this language allows us to construct each of the off-the-shelf parts because it is well known to those skilled in the art that such parts are available and how to mount them to produce the described effect. It is analogous to how we can describe a clockwork mechanism consisting of a set of off-the-shelf gears and springs in terms of syncopation and rotation ratios, without explaining the details for the However, no matter how one extracts a language that can be used to describe machines and methods of controlling them, none of this use of language excludes the fact that embodiments of the invention may be implemented as and as methods.

본 발명의 하나의 실시예는 다항 시간 내에 결정성 기계를 사용하여 주어진 NP, NP-완전, 또는 NP-난해 문제들을 풀이하는 데이터 프로세싱 시스템이다. 주어진 문제 정의는 논리 또는 그 외 결정성 제약들로 구성된 식으로 변환된다. 다음으로, 필요 시 제약 변수들에 대한 값들을 가정하는 단계, 값 가정들에서 기인하는 함의들의 경로들을 추적하는 단계, 함의되는 각 값에 대해 하나의 경로를 선택하는 단계, 결정을 통지하기 위해 경로 추적을 사용함으로써 부정될 모순-야기 값을 선택함으로써 제약의 임의의 모순을 해결하는 단계, 가정 또는 의사-가정을 포함하는 경로에 의해 단정되는 값을 항상 부정하는 단계, 및 그 다음 모순된 제약을 단정 제약으로 변환하는 단계의 프로세스가, 어떤 모순된 제약도 남지 않고 모든 변수가 값을 획득할 때까지, 아니면 가정 또는 의사-가정을 포함하는 경로에 의해 단정되는 부정될 어떤 값도 존재하지 않는 모순된 제약이 존재할 때까지 식에 반복적으로 적용된다. 이러한 프로세스의 각 부분의 반복들의 수는 식의 크기의 다항식에 의해 유계된다.One embodiment of the present invention is a data processing system that solves given NP, NP-complete, or NP-hard problems using a deterministic machine in polynomial time. A given problem definition is transformed into an expression consisting of logical or other deterministic constraints. Next, assuming values for constraint variables as needed, tracing paths of implications resulting from value assumptions, choosing one path for each implied value, path to notify decision Resolving any contradiction in a constraint by selecting a contradiction-causing value to be negated by using tracking, always negating a value predicated by a path containing an assumption or pseudo-assumption, and then solving the contradictory constraint A contradiction in which no value to be negated exists until the process of transforming it into an assertive constraint leaves no contradictory constraint left and all variables obtain values, or that there is no value to be negated as determined by a path containing hypotheses or pseudo-assumptions. Iteratively applied to the expression until the specified constraint exists. The number of iterations of each part of this process is bounded by the polynomial of magnitude of the equation.

본 발명의 실시예들은 결정들을 효과적으로 렌더링하기 위해 정보를 프로세싱하는 하나 이상의 디바이스 및/또는 자동화된 프로세스로서 구현될 수 있다. 그러한 실시예들의 거동은 대상들의 시스템, 그러한 대상들이 무엇인지에 대한 정의에 기여하는 필연적인 관계들, 및 필연적인 관계들과 일관된 방식들로 그것들의 대상들의 상태들을 변경하는 변형들을 사용하여 설명될 수 있다. 본 발명의 실시예들을 설명하는데 사용되는 특정한 어휘가 아래에서 설명된다.Embodiments of the invention may be implemented as one or more devices and/or automated processes that process information to effectively render decisions. The behavior of such embodiments will be described using a system of objects, the necessary relationships that contribute to the definition of what such objects are, and transformations that change the states of their objects in ways consistent with the necessary relationships. can Specific vocabulary used to describe embodiments of the present invention is set forth below.

집합들(Sets)Sets

본 출원에서의 개시내용은 수학적 언어 "집합들"을 사용한다. 집합들을 조합하는 널리 공지된 연산들은 "합집합" 및 "교집합"이다. 집합들 간 널리 공지된 비교 연산들은 "서브집합" 및 "확대집합(superset)"이다. 명확성을 위하여, "서브집합" 및 "확대집합"은 비교된 두 개의 집합이 동일하다는 가능성을 포함하는 반면, "진 부분집합" 및 "진 확대집합"은 그 가능성을 배제한다. 집합들 간 "매핑"의 널리 공지된 개념은 또한 "집합 관계"의 부류이듯이, 간단하게 언급된다.The disclosure in this application uses the mathematical language “sets”. Well-known operations for combining sets are "union" and "intersection". Well-known comparison operations between sets are "subset" and "superset". For the sake of clarity, "subset" and "extension" include the possibility that the two sets compared are identical, while "true subset" and "true extension" exclude the possibility. The well-known concept of “mapping” between sets is also referred to simply as a class of “set relationships”.

변수들(Variables)Variables

각 "변수"는 가변성의 로케일(locale)이며, 이는 값들의 집합이라고 특징지어질 수 있다. 예를 들어, 각 변수는 주어진 식에서 나타나는 논리 술어의 명칭이다. 애플리케이션에서, 변수는 동시에 하나의 값을 나타내는(또는 어떤 값도 나타내지 않는) 속성을 갖고 시간 경과에 따라 하나보다 많은 값을 나타낼 수 있는 임의의 데이터 구조, 일부 프로그래밍 언어의 영숫자 문자열, 숫자 레지스터, 또는 컴퓨터 칩 상의 핀에 공급되는 유효 전압들의 집합일 수 있다. 이 점에 있어서, 본 출원에서의 변수는 소프트웨어 공학의 정의역에서의 변수와 유사하다.Each "variable" is a locale of variability, which can be characterized as a set of values. For example, each variable is the name of a logical predicate that appears in a given expression. In an application, a variable is any data structure, an alphanumeric string in some programming languages, a numeric register, or It may be a set of effective voltages supplied to pins on a computer chip. In this respect, the variables in the present application are similar to those in the domain of software engineering.

값들(Values)Values

본 출원에서 사용되는 바와 같은, 변수의 "값"들은 실제로 가산 가능하거나 실제로 획정 가능하다. 실제로 가산 가능하거나 획정 가능하지 않은 변수 값들을 포함하는 문제들은 NP에 있지 않을 수 있다. 정의에 의해, 부울린 변수들의 값들은 실제로 가산 가능하다.As used herein, the “values” of a variable are actually additable or actually determinable. In practice, problems involving variable values that are neither countable nor determinable may not be in NP. By definition, the values of Boolean variables are actually additive.

"원자 값들(atomic values)"은 변수의 불가분 상호 배타적인 기수 값들이다. 숫자 변수 X에 대해, "3"은 원자 값일 수 있고, "{2,3}" 및 "X<3"은 원자 값이 아닐 수 있다."Atomic values" are indivisible and mutually exclusive radix values of a variable. For a numeric variable X, "3" may be an atomic value, and "{2,3}" and "X<3" may not be an atomic value.

변수가 식에서 그 외 나타나지 않는 숫자 변수 상의 논리 술어로서 정의될 수 없다는 것을 주의하자. 이 경우, 식 변수는 숫자가 아닌 부울린이고, 식 변수의 원자 값들은 수들이 아닌, "참" 및 "거짓"이다.Note that a variable cannot be defined as a logical predicate on a numeric variable that does not appear otherwise in an expression. In this case, the expression variable is a non-numeric Boolean, and the atomic values of the expression variable are "true" and "false", not numbers.

값 술어들(Value Predicates)Value Predicates

"값 술어들"은 변수의 원자 값들의 특정한 부분집합을 정의하는 명제들이다. 변수의 모든 원자 값들을 포함하는 집합은 유효한 값 술어가 아니다. 어떤 원자 값도 포함하지 않는 집합은 유효한 값 술어가 아니다. 다시 말해서, "널(null)" 및 "내재하는 모순"은 본 출원에서 사용되는 말하는 방식으로 유효한 값들이 아니다. 예를 들어, "X=3", "X>3", "2<X<3", "X 모듈로 2 = 1" , "X∈{2,3}", 및 "X = 보수(2<N<3)"(N이 여기서 정의되는 바와 같이, 식의 변수를 나타내지 않으나, 값 술어를 독립적으로 정의하기 위해 엄격하게 사용되는 파라-변수를 나타낼 때)는 숫자 변수에 대한 모든 유효한 값 술어인 한편, "X=Y", "1<X<0", 및 "X = 보수(1<N<0)"는 유효한 값 술어들이 아니다."Value predicates" are propositions that define a particular subset of the atomic values of a variable. A set containing all atomic values of a variable is not a valid value predicate. A set that does not contain any atomic values is not a valid value predicate. In other words, "null" and "intrinsic contradiction" are not valid values in the speaking manner used in this application. For example, "X=3", "X>3", "2<X<3", "X modulo 2 = 1" , "X∈{2,3}", and "X = complement(2 < N <3)" (when N does not denote a variable of an expression, as defined herein, but a para-variable used strictly to independently define a value predicate) is any valid value predicate for a numeric variable. while "X=Y", "1<X<0", and "X=complement (1< N <0)" are not valid value predicates.

우리가 술어들의 논리곱에 대해 기록할 때, 이는 술어들에 의해 표현되는 원자 값들의 집합들의 교집합과 동일하다.When we write about the logical product of predicates, it is equal to the intersection of the sets of atomic values represented by the predicates.

우리가 변수들의 값들의 어휘로 거동을 설명하는 모든 경우에서, 우리는 스위치들의 거동을 설명할 것이다. 우리는 스위치 상태 또는 스위치들의 배열된 또는 배열되지 않은 무리의 상태들을 "수", "부울린 값", 또는 "술어"로 해석할 수 있고, 이는 보통 공학적 의도이나, 그것은 단지 설명의 편리함이다 - 설명되는 거동은 그 자체로는 수들, 집합들, 또는 논리 상태들이 아닌 스위치들의 거동이다.In all cases where we describe behavior in terms of the values of variables, we will describe the behavior of switches. We may interpret the state of a switch or the states of an arranged or unarranged set of switches as "number", "boolean value", or "predicate", which is usually engineering intent, but it is merely convenience of explanation - The behavior described is that of switches that are not in themselves numbers, sets, or logical states.

항들(Terms)Terms

"항"은 주로 제약의 맥락 내 변수에의 언급, 또는 그의 재현으로 구성된다. "제약"에 대한 설명은 더 아래에서 제공된다.A “term” consists primarily of a reference to, or a representation of, a variable within the context of a constraint. A description of “constraints” is provided further below.

본 발명의 특정한 실시예들은 두 개의 값을 갖는 로직을 사용하는 것으로 해석되는 시스템에 내장될 수 있다. 두 개의 값을 갖는 로직에서, 항은 변수의 부울린 값을 나타내는 것으로 통상적으로 해석된다. 이는 항이 논리 모델들에 대해 "참" 또는 "거짓" 중 어느 하나, 또는 디지털 숫자 모델들에 대해 "1" 또는 "0" 중 어느 하나, 또는 트랜지스터 회로들에 대해 "하이-전압" 또는 "로우-전압" 중 어느 하나, 또는 심지어 (예를 들어) 완전히 추상적인 모델에 대해 "허그" 또는 "키스" 중 어느 하나인 것으로 해석되는 항의 변수의 값을 효과적으로 나타낸다는 주장에 대한 속기이다. 두 개의 값을 갖는 로직에 대해 긴요한 일은 어떤 제3의 값도 존재하지 않는다는 것이고, 따라서, 풀이할 문제가 존재할 수 있도록, 두 개의 값은 우리가 값들에 어떤 명칭들을 부여하는지에 관계없이, 불일치해야 한다. 우리는 그러한 항을 부울린 값 술어라 칭한다.Certain embodiments of the present invention may be embedded in systems that are interpreted as using two-valued logic. In two-valued logic, a term is usually interpreted as representing the Boolean value of a variable. This means that the term is either “true” or “false” for logic models, or either “1” or “0” for digital numeric models, or “high-voltage” or “low” for transistor circuits. -Voltage", or even (for example) a completely abstract model, is shorthand for the assertion that it effectively represents the value of a variable in the proposition that is interpreted as either a "hug" or a "kiss". The critical thing for two-valued logic is that no third value exists, and thus the two values are inconsistent, no matter what names we give them, so that there can be a problem to solve. Should be. We call such terms a Boolean value predicate.

본 발명의 특정한 실시예들은 많은 값을 갖는 로직을 사용하는 것으로 해석되는 시스템에 내장될 수 있다. 많은 값을 갖는 로직의 예는 제1-계 로직이며, 이는 수들의 표현들을 포함한다. 많은 값을 갖는 로직들에서, 항은 두 개의 값을 갖는 로직으로서의 부울린 값을 나타낼 수 있으나, 그것은 명백한 술어의 주어(subject)가 아닌 일부 변수의 값을 대신 나타낼 수 있다. 그러한 변수의 값을 나타낼 때, 우리는 그러한 항을 비-부울린 값이라 칭한다.Certain embodiments of the present invention may be embedded in systems that are interpreted as using logic with many values. An example of logic with many values is first-order logic, which includes representations of numbers. In many-valued logics, a term may represent a Boolean value as two-valued logic, but it may instead represent the value of some variable that is not the subject of an explicit predicate. When expressing the value of such a variable, we refer to such a term as a non-Boolean value.

값들의 임의의 특정한 집합을 나타내는 대신, 많은 값을 갖는 로직에서의 항은 다른 변수들과의 균등 또는 부등 관계의 부분일 수 있다. 항이 다른 변수들과의 균등 또는 부등 관계의 부분이기 위해, 관계는 특별 요건들을 충족해야 한다. 이들 특별 요건들의 설명은 아래 SOMME들의 논의에서 제공된다.Instead of representing any particular set of values, a term in logic with many values may be part of an equality or inequality relationship with other variables. For a term to be part of an equality or inequality relation with other variables, the relation must meet special requirements. A description of these special requirements is provided in the discussion of SOMMEs below.

실시예가 두 개의 값을 갖는 로직을 사용하는 것으로 해석되든 또는 많은 값을 갖는 로직을 사용하는 것으로 해석되든지에 관계없이, 식에 각각이 동일하거나 상이한 변수들을 참조하는, 많은 항이 존재할 수 있다.Regardless of whether an embodiment is interpreted as using two-valued logic or using multi-valued logic, there may be many terms in an expression, each referencing the same or different variables.

구들(Phrases)Phrases

"구"는 값 술어들을 나타내는 항들의 처리 가능한 집합을 포함한다. 구는 임의의 수의 항을 포함하나, 구에서의 각 항에 대해, 동일한 변수의 값 술어를 나타내는 다른 어떤 항도 존재하지 않을 수 있다. 각 구는 그것이 포함하는 값 술어들의 논리곱 또는 논리합 중 어느 하나를 또한 나타낸다. 숫자로 표현된 벡터는 연언구(conjunct phrase)의 예이고, CNF 제약은 선언구(disjunct phrase)의 예이다."Phrase" includes a processable set of terms representing value predicates. A phrase may contain any number of terms, but for each term in the phrase there may not be any other terms representing the value predicate of the same variable. Each phrase also represents either the logical product or the logical sum of the value predicates it contains. A vector expressed as a number is an example of a conjunct phrase, and a CNF constraint is an example of a disjunct phrase.

제약들(Constraints)Constraints

두 개의 값을 갖는 로직에서, "제약"은 부울린 항들의 비공(non-empty)의 선언구에 의해 표현된다. 다중 값을 갖는 로직들에서, 제약은 선언구 또는 충족 가능-또는-상호-매핑 식(SOMME; satisfiable-or-mutually-mapped expression) 중 어느 하나에 의해 표현될 수 있다.In two-valued logic, "constraint" is expressed by the non-empty predicate of Boolean terms. In multi-valued logics, a constraint can be expressed either by a declarative clause or by a satisfiable-or-mutually-mapped expression (SOMME).

SOMME들SOMMEs

"SOMME"는 어떤 변수가 이전에 결정되지 않은 것인지에 관계없이, 그리고 특정한 결정된 값들에 관계없이, 하위-식에서의 변수들 중 하나를 제외한 모든 변수의 값들을 결정하는 것이 하위-식을 충족시키거나 아니면 이전에 결정되지 않았던 하나의 변수에 대한 값 술어의 진실을 암시하도록 변수들 간 관계를 나타내는 하위-식이다. 예를 들어, R이 실수들의 집합이고, x,y,z ∈ R이라면, "x+y=z"는 SOMME이나, "x*y=z"는 예를 들어, x=0 및 z=0인 경우 y의 값이 임의의 수일 수 있고 미지로 남기 때문에 아니다. 그러나, "x=0 OR y=0 OR x*y=z"는 그것이 전체 명제가 충족되지 않는 한 팩터들 중 하나가 0일 가능성을 제거하기 때문에 SOMME이다. 유사하게, "x3=y"는 SOMME이고, "x<0 OR y<0 OR x2=y"는 또한 SOMME이나, "x2=y"는 논란의 여지가 있다."SOMME" means that determining the values of all but one of the variables in the sub-expression satisfies the sub-expression, regardless of which variable has not been previously determined, and regardless of the particular determined values. A sub-expression representing a relationship between variables to imply the truth of a value predicate for a variable that has not been previously determined. For example, if R is a set of real numbers and x,y,z ∈ R then "x+y=z" is SOMME, but "x * y=z" is e.g. x=0 and z=0 not because the value of y can be any number and remains unknown. However, "x=0 OR y=0 OR x * y=z" is SOMME because it eliminates the possibility that one of the factors is zero unless the entire proposition is satisfied. Similarly, "x 3 =y" is SOMME, "x<0 OR y<0 OR x 2 =y" is also SOMME, but "x 2 =y" is controversial.

"x2=y"의 경우, y가 실수들에서의 단일 원자 값인 것으로 결정될 때, x는 y의 양의 제곱근 또는 y의 음의 제곱근 중 어느 하나일 수 있다. 우리가 단지 원자 값들을 암시된 값들로서 채택한다면, "x2=y"는 SOMME이 아니나, 우리가 집합들을 암시된 값들인 것으로 허용한다면 "x2=y"는 SOMME이다. 어떤 값들이 암시되는 것으로 허용되는지는 풀이될 문제의 정의에 내재되어 있을 수 있다; 따라서 이후로, 사용되는 용어는 "값 술어들"이 암시된다는 것이고, 이러한 용어는 SOMME를 구성하는 것 중 어느 하나의 해석을 허용한다.For "x 2 =y", when y is determined to be a single atomic value in real numbers, x can be either the positive square root of y or the negative square root of y. If we adopt as the value implies the only atomic value, "x 2 = y" include, but are SOMME, if allowed to, which are the we imply the set value "x 2 = y" is SOMME. What values are allowed to be implied may be inherent in the definition of the problem to be solved; Henceforth, the term used is that "value predicates" are implied, which term permits the interpretation of either one of which constitutes the SOMME.

"x=0 OR y=0 OR x*y=z"의 경우, y에 대한 결정 요인이 y = 1이도록 존재하고, 그 다음 x에 대한 결정 요인이 x = 0이도록 도입되는 경우, "x=0 OR y=0 OR x*y=z"의 제1 부분, "x=0"이 한정되지 않기 때문에 z에 대한 어떤 단정도 존재하지 않는다. 이것이 "하위-식을 충족시킴"에 의해 의미되는 것이다.For "x=0 OR y=0 OR x * y=z", if the determinant for y exists such that y = 1, then the determinant for x is introduced such that x = 0, then "x= There is no assertion about z as the first part of 0 OR y=0 OR x * y=z", ie "x=0", is unqualified. This is what is meant by “satisfying the sub-expression”.

불일치(Disagreement)Disagreement

값 술어들의 교집합에서의 원자 값들의 공집합을 갖는 동일한 변수의 값 술어들은 "불일치"라고 한다. Value predicates of the same variable that have an empty set of atomic values at the intersection of the value predicates are said to be "inconsistencies".

여집합(Complementariness)Complementarity

어느 하나의 집합에서의 어떤 술어도 동일한 집합에서의 다른 술어들과 불일치하고, 제1 집합의 교집합이 제2 집합의 교집합과 불일치하며, 변수의 모든 원자 값이 하나의 집합 또는 다른 집합 중 어느 하나에 배타적으로 있는 경우, 값 술어들의 하나의 집합은 동일한 변수에 대한 값 술어들의 다른 집합에 "상호 보와적"이다. 두 개의 값을 갖는 논리에서, 각 변수 값은 해당 변수에 대한 단지 다른 가능한 값에 상호 보완적이고 그것과 불일치한다.Any predicate in either set is inconsistent with other predicates in the same set, the intersection of the first set is inconsistent with the intersection of the second set, and all atomic values of the variable are in either one or the other set. One set of value predicates is "mutually complementary" to another set of value predicates for the same variable when In two-valued logic, the value of each variable is complementary to and inconsistent with just the other possible values for that variable.

논란의 여지가 없음(Indisputable ( UncontroversialityUncontroversiality ))

하나의 변수에 대해, 모든 제약에서 표현되는 모든 값 술어의 논리곱이 불일치하고, 해당 변수의 항들을 갖는 어떤 SOMME도 존재하지 않는다면, 그것들의 항들의 변수는 "논란의 여지가 없다"라고 한다.For a variable, a variable of terms is said to be "uncontroversial" if the concatenation of all value predicates expressed in all constraints is inconsistent, and there is no SOMME with terms of that variable.

결정 요인들(Determinants)Determinants

값 술어들의 논리곱이 참인 것으로 고려될 때, 잠정적으로든("조건부로"라고도 알려짐) 또는 필연적으로든("무조건으로"라고도 알려짐), 우리는 논리곱에서 기인하는 원자 값들의 집합을 "결정 요인"이라 칭한다.When the product of value predicates is considered to be true, either tentatively (also known as "conditionally") or necessarily (also known as "unconditionally"), we refer to the set of atomic values resulting from the logical product as a "determinant". call it

한정(Restriction)Restriction

우리는 결정 요인이 항과 불일치하는 경우 결정 요인이 선언구에서의 항의 값을 한정한다고 말한다.We say that the determinant limits the value of the term in the predicate if the determinant does not match the term.

우리는 SOMME이 동일한 변수의 항을 갖는 경우 결정 요인이 SOMME에서의 항의 값을 한정한다고 말하고 이하 세 개의 경우 중 임의의 경우가 적용된다:We say that the determinant limits the value of the term in the SOMME if the SOMME has terms of the same variable, and any of the following three cases apply:

SOMME에서의 모든 항이 결정 요인들을 갖는 변수들을 나타내지는 않는다, 그리고 이러한 결정 요인은 SOMME를 충족시키지 않는다; 또는Not all terms in SOMME represent variables with determinants, and these determinants do not satisfy SOMME; or

이러한 결정 요인의 결과로서, SOMME은 이러한 항에 의해 표현되는 변수가 아닌 변수에 대한 비-항진명제 값 술어를 암시한다; 또는As a result of these determinants, SOMME implies non-propositional value predicates for variables other than the variables represented by these terms; or

SOMME에서의 모든 항은 결정 요인들을 갖는 변수들을 나타낸다, 그리고 주어진 결정 요인이 존재하지 않는 경우, SOMME는 주어진 결정 요인으로서 동일한 변수의 항에 의해 표현되는 변수에 대한 값 술어를 암시할 수 있으나, 해당 값 술어는 주어진 결정 요인과 불일치할 수 있다.Every term in SOMME represents variables with determinants, and if a given determinant does not exist, SOMME may imply a value predicate for the variable expressed by the term of the same variable as the given determinant, but A value predicate may not match a given determinant.

단정들(Assertions)Assertions

결정 요인들이 제약에서의 항들 중 하나를 제외한 모두를 한정할 때, 값 술어는 하나의 비한정된 항의 변수에 대해 "단정"된다. 제약의 모든 한정된 항이 무조건적으로 한정된다면, 그것들의 한정들에 의해 부과되는 해당 제약의 단정은 자명하게 무조건적이다. 또한, 제약이 단지 하나의 항을 포함하는 경우, 해당 항에 대해 표현되는 값 술어는 자명하게 무조건적으로 단정된다. 그 외, 제약의 항들 중 임의의 항이 무조건적으로 한정되지 않으나, 제약이 값 술어를 단정하는 경우, 해당 단정은 조건부이다. 일부 제약들이 하나보다 많은 원소를 갖는 원자 값들의 집합들을 나타내는 값 술어들을 나타내는 항들을 포함할 때, 제약이 제1 값 술어를 무조건적으로 단정하는 것 및 이의 무조건적 단정의 진 부분집합인 제2 값 술어를 조건부로 단정하는 것이 가능하다.When the determinants qualify all but one of the terms in the constraint, the value predicate is "asserted" about the variable of one unqualified term. If all qualifying terms of a constraint are unconditionally qualified, then the assertion of that constraint imposed by those constraints is obviously unconditional. Also, if the constraint includes only one term, the value predicate expressed for that term is unambiguously asserted. Otherwise, if any of the terms of a constraint are not unconditionally bound, but the constraint asserts a value predicate, then that assertion is conditional. When some constraints contain terms representing value predicates representing sets of atomic values having more than one element, the constraint unconditionally asserts the first value predicate and a second value predicate that is a true subset of the unconditional assert. It is possible to conditionally assert

제약은 이의 조건부 한정들 중 하나 이상이 제거된 후에도 조건부 단정을 계속해서 가질 수 있다. 무조건적 한정들은 제거될 수 없다.A constraint may continue to have a conditional assertion after one or more of its conditional constraints are removed. Unconditional limitations cannot be removed.

한정 지지(Restriction Support)Restriction Support

동일한 변수를 나타내는 잔존하는 단정들은 "연언적으로 수렴한다"라고 하고, 잔존하는 단정에 의해 표현되는 값 술어들의 교집합은 해당 변수에 대해 잔존하는 결정 요인이다. 잔존하는 단정들의 주어진 부류가 항에 대한 한정의 부분집합인 원자 값들의 집합을 나타내는 결정 요인을 생성하기 위해 연언적으로 수렴한다면, 단정들의 주어진 부류는 해당 한정을 "완전히 지지한다"라고 한다.Remaining assertions representing the same variable are said to "converge syntactically", and the intersection of the value predicates expressed by the remaining assertions is the remaining determinant of the variable. A given class of assertions is said to "fully support" that constraint if a given class of remaining assertions converges syntactically to produce a determinant representing a set of atomic values that is a subset of the constraint on the term.

우세함(Prevalence)Prevalence

단정들의 논리곱(단정되는 값 술어들에 의해 표현되는 원자 값들의 집합들의 교집합들이라고도 알려짐)은 이들의 공통 변수에 대한 결정 요인들이 된다.The logical product of assertions (also known as the intersections of sets of atomic values represented by asserted value predicates) is the determinant of their common variable.

많은 제약은 단일 원자 값 또는 동일한 변수에 대한 다수의 원자 값의 집합을 나타내는 다른 값 술어를 단정할 수 있다. 식의 제약들이 동일한 변수에 대해 하나보다 많은 원소를 갖는 원자 값들의 집합들을 나타내는 값 술어들을 포함하지 않을 때, 이를테면 두 개의 값을 갖는 논리가 적용될 때, 해당 동일한 변수의 단정들 중 많아도 하나가 "우세"하다. 그렇지 않으면, 동일한 변수에 대해 다수의 우세한 단정을 갖는 것이 가능하다.Many constraints can presuppose a single atomic value or other value predicate that represents a set of multiple atomic values for the same variable. When the constraints of an expression do not include value predicates representing sets of atomic values having more than one element for the same variable, such as when two-valued logic is applied, at most one of the assertions of that same variable is " dominance" Otherwise, it is possible to have multiple dominant assertions for the same variable.

보통 결정 요인을 구성하는 논리곱에서의 단정들은 우세한 단정들이다. 무조건적 단정들의 경우, 단정들은 보통 우세하다. 동일한 변수에 대한 우세한 무조건적 단정들 중, 그것들의 단정들의 값 술어들에 의해 표현되는 원자 값들의 집합들의 교집합은 무조건적 결정 요인이 된다. 동일한 변수에 대한 연언 조건부 단정들 중, 그것들의 단정들 및 우세한 무조건적 단정들의 값 술어들에 의해 표현되는 원자 값들의 집합들의 교집합은 조건부 결정 요인이 된다. 결정 요인들은 단정이 논리곱에 추가되는 때마다 업데이트된다. 단정들은 그것들이 우세해질 때 논리곱에 보통 추가된다.Usually the assertions in the logical product constituting the determinant are the dominant assertions. In the case of unconditional assertions, they usually prevail. Among the prevailing unconditional assertions about the same variable, the intersection of the sets of atomic values expressed by the value predicates of those assertions is the unconditional determinant. Among the predicate conditional assertions for the same variable, the intersection of the sets of atomic values expressed by the value predicates of their assertions and the prevailing unconditional assertions is the conditional determinant. The determinants are updated whenever an assertion is added to the logical product. Assertions are usually added to a logical product when they become dominant.

단지 하나의 우세한 단정이 각 변수에 대해 허용될 때, 해당 변수에 대한 임의의 무조건적 단정은 우세한 것이다. 단지 하나의 우세한 단정이 변수에 대해 허용되고, 해당 변수에 대한 어떤 무조건적 단정도 존재하지 않으며, 우세할 수 있는 다수의 조건부 단정이 존재할 때, 어떤 단정을 우세한 것으로 지정할지의 선택은 임의적이고 그 자체로 존재하는 제1 그러한 단정을 취함으로써 가장 용이하게 렌더링된다. (어떤 다른 단정들이 존재하는지에 관계없이 우세해질 수 없는 조건부 단정들의 논의에 대해서는 더 아래를 참조하자).Any unconditional assertion about that variable is dominant when only one dominant assertion is allowed for each variable. When only one dominant assertion is allowed for a variable, no unconditional assertion exists for that variable, and there are multiple conditional assertions that may prevail, the choice of which assertion to designate as dominant is arbitrary and itself It is most easily rendered by taking the first such assertion that exists as (See further below for a discussion of conditional assertions that cannot prevail regardless of what other assertions exist).

하나보다 많은 우세한 단정이 각 변수에 대해 허용될 때, 단정들은 아래에서 설명될 바와 같이, 그것들의 조건 제한에 따라 분리되어야 한다.When more than one dominant assertion is allowed for each variable, the assertions must be separated according to their conditional constraints, as will be explained below.

우세한 것으로 지정되기 위한 후보들인 무조건적 단정들 중, 그 자체로 존재하는 제1 그러한 단정이 우세한 것이 되어야 한다. 동일한 변수에 대해 이어서 제공된 무조건적 단정이 이전에 제공된 우세한 무조건적 단정들에 의해 표현되는 임의의 값 술어들에 포함되는 원자 값들의 진 부분집합을 나타낸다면, 그것들의 이전에 제공된 단정들은 보통 비-우세하게 되고 이어서 제공된 단정이 항상 우세하게 된다. 이어서 제공된 무조건적 단정이 이전에 제공된 우세한 무조건적 단정들 중 임의의 단정의 부분집합을 나타내지 않고, 이전에 제공된 우세한 무조건적 단정들의 교집합을 갖는 이어서 제공된 무조건적 단정의 교집합이 이전에 제공된 우세한 무조건적 단정들의 교집합의 진 부분집합이라면, 이어서 제공된 단정이 우세하게 된다. 모든 다른 경우에서, 이어서 제공된 무조건적 단정은 보통 우세하게 되지 않는다. 많은 경우에서 덜 효과적이나 몇몇 경우에서 더 효과적이더라도, 이들 규칙을 무시하고 모든 무조건적 단정을 우세하게 만드는 것은 수용 가능하다.Among the unconditional assertions that are candidates to be designated as dominant, the first such assertion that exists in itself must be the predominant one. If a subsequently provided unconditional assertion for the same variable represents a true subset of the atomic values contained in any value predicates expressed by the previously provided dominant unconditional assertions, then those previously provided assertions are usually non-predominantly and the assertion provided subsequently always prevails. The truth of the intersection of the previously provided dominant unconditional assertions is that the subsequently provided unconditional assertion does not represent a subset of any of the previously provided dominant unconditional assertions, and the intersection of the subsequently provided unconditional assertion with the intersection of the previously provided dominant unconditional asserts If it is a subset, then the given assertion prevails. In all other cases, the unconditional assertions subsequently provided do not usually prevail. Although less effective in many cases and more effective in some cases, it is acceptable to override these rules and make all unconditional assertions prevail.

이어서 제공된 무조건적 단정이 동일한 변수에 대해 이전에 제공된 우세한 조건부 단정에 대한 값 술어의 부분집합인 값 술어를 나타낸다면, 이전에 제공된 조건부 단정은 비-우세해질 수 있다(그러나 그러하지 않아도 된다). 유사하게, 무조건적 단정들이 보통 비-우세하게 되나 사실상 우세하게 유지되는 상기 경우들에서, 본 발명의 효율이 감소되나 그것이 하이퍼-다항식이 될 정도는 아니다. 아래 논의들은 그러한 단정들이 비-우세해지는 것을 추정한다.If the subsequently provided unconditional assertion represents a value predicate that is a subset of the value predicate for the previously provided dominant conditional assertion for the same variable, then the previously provided conditional assertion may (but need not) be non-dominant. Similarly, in the above cases where unconditional assertions usually become non-dominant, but in fact remain dominant, the efficiency of the present invention is reduced but not to the extent that it becomes hyper-polynomial. The discussions below presume that such assertions become non-predominant.

동일한 변수에 대해 어떤 무조건적 단정도 존재하지 않을 때 우세한 것으로 지정되는 것에 대해 유효한 후보들인 조건부 단정들 중, 그 자체로 존재하는 제1 그러한 단정은 우세한 것으로 만들어져야 한다. 이어서 제공된 유효한 후보 조건부 단정에 의해 표현되는 값 술어들의 집합의 교집합 및 동일한 변수에 대해 이전에 제공된 우세한 무조건적 및 조건부 단정들의 교집합이 이전에 제공된 우세한 무조건적 및 조건부 단정들의 교집합의 진 부분집합이라면, 이어서 제공된 단정이 우세하게 된다. 모든 다른 경우에서, 이어서 제공된 조건부 단정은 우세하게 되지 않는다. (우세한 것으로 지정되는 것에 대해 무효한 후보들이 더 아래에서 논의된다.)Among the conditional assertions that are valid candidates for being designated as dominant when no unconditional assertion exists for the same variable, the first such assertion that exists as such must be made dominant. If the intersection of the set of value predicates represented by the subsequently provided valid candidate conditional assertions and the previously provided dominant unconditional and conditional assertions for the same variable is the true subset of the intersection of the previously provided dominant unconditional and conditional assertions, then the given determination prevails. In all other cases, the subsequently provided conditional assertion does not prevail. (Invalid candidates for designation as dominant are discussed further below.)

각 단정이 우세하게 됨에 따라, 그것은 시퀀스에서 다음 수와 연관될 수 있다. 이러한 수는 단정의 "우세함" 번호라 칭한다.As each assertion becomes dominant, it can be associated with the next number in the sequence. This number is referred to as the "predominant" number of the assertion.

가정들(Assumptions)Assumptions

프로세싱 동안, 우리는 제약들에 의해 생성되지 않고 어떤 결정 요인도 이전에 갖지 않았거나, 결정 요인을 가지나 결정 요인이 하나보다 많은 원자 값을 포함하는 집합을 나타내는 변수에 대한 것인 하나 이상의 단정을 생성할 수 있다. 그러한 단정은 "가정(assumption)" 또는 "가정적 단정"이라 지칭되고 이의 값 술어는 "가정적"이다. 그에 반해서, 제약들로부터 강제되는 단정들은 "함의된 단정들"이라 지칭된다. 가정들은 항상 조건부이고, 각 값 술어는 가정적 값 술어가 나타내는 변수에 대한 결정 요인에 기여해야 한다.During processing, we generate one or more assertions that are about a variable that is not generated by the constraints and has not previously had any determinants, or has a determinant but the determinant represents a set containing more than one atomic value. can do. Such an assertion is referred to as an “assumption” or “a hypothetical assertion” and its value predicate is “assumed”. In contrast, assertions that are enforced from constraints are termed "implicit assertions." Assumptions are always conditional, and each value predicate must contribute to the determinant of the variable represented by the hypothetical value predicate.

본 발명의 일부 실시예들에서, 가정들을 명백하게 보다는 함축적으로 만드는 것이 가능하다. 예를 들어, 제약들이 그룹의 각 원소가 해당 그룹을 식별하는 값 술어들의 특정한 집합에 있는 값 술어들을 나타내는 일부 항들을 갖는, 그룹들로 조직되고, 이러한 조직이 이러한 특정한 집합에 있지 않은 값 술어들 또는 변수들을 나타내는 동일한 제약들에서의 다른 항들의 프로덕티브 상호 작용을 비교하기 위해 존재한다면, 제약들의 조직은 공통 값 술어들의 각 집합에서의 항들에 대한 공통 한정들을 효과적으로 가정한다.In some embodiments of the present invention, it is possible to make assumptions implicit rather than explicit. For example, constraints are organized into groups, where each element of the group has some terms representing value predicates in a particular set of value predicates that identify that group, and value predicates whose organization is not in this particular set. or to compare the productive interaction of different terms in the same constraints representing variables, the organization of constraints effectively assumes common constraints on terms in each set of common value predicates.

모순들(Contradictions)Contradictions

제약의 모든 항이 한정될 때, 제약에 "모순"이 존재한다. 식은 그것이 이의 모든 항이 무조건적으로 한정되게 하는 임의의 제약을 포함하는 경우 충족 불가능하다.When all terms of a constraint are bound, a "contradiction" exists in the constraint. An expression is unsatisfactory if it contains any constraint that causes all of its terms to be unconditionally qualified.

충족(Satisfaction)Satisfaction

임의의 제약은 이의 항들 중 하나 이상이 한정되지 않고 해당 항의 변수가 결정 요인을 가질 때 "충족"된다. 식은 이의 제약들 중 어떤 것도 모순되지 않고 모든 변수가 단일 원자 값을 포함하는 집합을 나타내는 결정 요인들을 가질 때 충족된다.Any constraint is "satisfied" when one or more of its terms are unqualified and the variable of that term has a determinant. An expression is satisfied if none of its constraints contradict and every variable has determinants representing a set containing a single atomic value.

원자 값들의 집합들이 값 술어들로서 수용 가능한 경우들에서, 모든 제약이 충족되고 모든 변수가 결정 요인들을 가질 때 식이 충족될 수 있다는 것이 가능하며, 각 결정 요인이 단일 원자 값을 포함하는 집합을 나타내는 것을 필요로 하지 않으나, 이것이 사실이든 아니든 식의 특정한 성질들에 의존한다. 일반적으로, 식이 동일한 두 개의 집합의 다른 직접적인 또는 간접적인 매핑의 재배열인 두 개의 집합의 임의의 매핑을 포함한다면, 식은 식 충족에 대해 단일-값 술어들을 필요로 하는 것으로 처리되어야 한다.In cases where sets of atomic values are acceptable as value predicates, it is possible that an expression can be satisfied when all constraints are satisfied and all variables have determinants, each determinant representing a set containing a single atomic value. It is not necessary, but whether this is true or not depends on the specific properties of the expression. In general, if an expression contains any mapping of two sets that is a rearrangement of another direct or indirect mapping of the same two sets, the expression shall be treated as requiring single-valued predicates for satisfying the expression.

풀들(pools)pools

"풀"은 요소들이 추가되고 제거될 수 있는 처리 가능한 집합이다. 풀 그 자체로서, 요소들이 임의의 순서로 추가되거나 풀에서 제거될 수 있다. 또한 풀들은 추가된 요소들이 제거되는 순서에 대한 특정한 규칙들을 원용할 수 있다. 예를 들어, 비-우선순위화된 큐들은 "선-입-선-출"(FIFO) 규칙을 원용하고, 스택들은 "선-입-후-출"(FILO) 규칙을 원용한다.A "pool" is a processable set to which elements can be added and removed. As the pool itself , elements can be added or removed from the pool in any order. Pools may also invoke specific rules for the order in which added elements are removed. For example, non-prioritized queues employ "first-in-first-out" (FIFO) rules, and stacks employ "first-in-first-out" (FILO) rules.

스택들 및 큐들 양자는 풀들의 특정한 종류들이다. 스택들은 그것들 상에 "푸시" 다운되고 그것들에서 "갑자기 나오는" 요소들을 갖는다. 큐들의 경우에서, 요소들이 "큐에 더해지고" 그리고 "큐에서 해제된다". 처음에, 모든 풀은 빈 상태이고, 마지막 요소가 스택에서 갑자기 나오거나 큐에서 해제되었을 때, 풀은 다시 빈 상태가 된다.Both stacks and queues are specific kinds of pools. Stacks have elements "pushed" down on them and "sudden" from them. In the case of cues, elements are "added to the queue" and "dequeued". Initially, all pools are empty, and when the last element is popped off the stack or dequeued, the pool becomes empty again.

함의(Implication)Implications

"함의"는 새로운 결정 요인이 도입될 때 트리거되는 프로세스이다. 이러한 프로세스에서, 새로운 결정 요인에 의해 한정되는 항들이 식별되고, 그 다음 그것들의 항들의 제약들이 각 제약에서의 항들 중 모든 항이 한정되는지 또는 하나를 제외한 모든 항이 한정되는지를 살피도록 체크된다.“Implicit” is a process triggered when a new determinant is introduced. In this process, terms defined by the new determinant are identified, and then the constraints of those terms are checked to see if all of the terms in each constraint are qualified or all but one are qualified.

제약이 충족되지 않고 제약에서의 항들 중 하나를 제외한 모든 항이 한정된다면, 제약은 값 술어를 단정한다. 새로운 단정들은 위에서 설명된 바와 같이, 우세하게 될 수 있거나 그렇지 않을 수 있다. 새로운 단정이 우세하게 된다면, 새로운 결정 요인이 도입되고 이들 단계가 반복된다. 많은 단정이 단일 결정 요인의 도입에서 생성될 수 있기 때문에, 함의 프로세스가 단정들 및 그 결과로 생긴 결정 요인들을 관리하기 위한 풀을 갖는 것 또는 연산의 병렬 경로들을 제공하는 메커니즘을 가지는 것이 필요하다.A constraint asserts a value predicate if the constraint is not satisfied and all but one of the terms in the constraint are qualified. New assertions may or may not prevail, as described above. If a new assertion becomes dominant, a new determinant is introduced and these steps are repeated. Since many assertions can be generated from the introduction of a single determinant, it is necessary for the implication process to have a pool for managing the assertions and the resulting determinants, or a mechanism to provide parallel paths of operations.

함의는 제약이 모순되게 되자마자 중단될 수 있고 함의 프로세스의 가장 최근 반복에서 어떤 새로운 우세한 단정도 생성되지 않았을 때 항상 중단된다.Implication can be stopped as soon as the constraint becomes contradictory and is always interrupted when no new dominant assertion has been created in the most recent iteration of the implication process.

효율성을 위해, 제1 무조건적 결정 요인이 식으로 도입될 때는 언제든지, 제1 무조건적 결정 요인에 의해 강제될 수 있는 임의의 다른 무조건적 단정들은 임의의 추가 조건부 함의 또는 다른 조건부 결정 요인을 도입할 수 있는 다른 액션이 발생하기 전에 식을 통해 전파되어야 한다.For efficiency, whenever a first unconditional determinant is introduced into an expression, any other unconditional assertions that may be enforced by the first unconditional determinant are Before an action can occur, it must be propagated through the expression.

라이좀lysome 네트워크들( networks ( RhizomaticRhizomatic Networks)에서의 근접성 Proximity in Networks)

함의의 전파는 한정의 관념상에서 발견되며, 이는 각 제약이 다른 제약에서의 항들에 의해 표현되는 바와 같이 동일한 변수들에 대한 값 술어들을 나타내는 항들을 포함하고, 이들 항 중 정확하게 하나의 항이 다른 제약에서의 동일한 변수를 나타내는 항을 한정하는 임의의 두 개의 제약 사이에서 단지 프로덕티브하게 전달될 수 있다. 두 개의 값을 갖는 논리에서, 이는 정확하게 하나의 항이 다른 제약에서의 매칭 항의 값 술어와 불일치하는 값 술어를 나타낸다는 것, 및 모든 다른 술어가 동일한 변수를 나타내는 어떤 매칭 항도 갖지 않는다는 것 또는 아니면 다른 술어들이 이의 매칭 항에 의해 표현되는 바와 같이 동일한 값 술어를 나타낸다는 것을 의미한다.The propagation of implication is found in the notion of a constraint, which includes terms in which each constraint represents value predicates for the same variables as represented by terms in the other constraint, in which exactly one term is in the other constraint. It can only be passed productively between any two constraints defining terms representing the same variable of . In two-valued logic, this means that exactly one term represents a value predicate that does not match the value predicate of the matching term in the other constraint, and that all other predicates have no matching terms representing the same variable, or otherwise another predicate means that they represent the same value predicate as represented by its matching term.

SOMME들의 상호-매핑된 부분들의 경우에서, 동일한 관계는 프로덕티브하기 위해 필연적이나(, 하나의 제약에서의 단일 항은 다른 제약에서의 단일 항을 한정할 수 있다), 이러한 사실은 식에서 어떤 SOMME도 식에서의 다른 SOMME에 의해 표현되는 매핑의 부분집합을 나타내지 않는다는 추정에 의해 보통 모호해진다. 이러한 추정이 정확할 때, 공통 변수들을 공유하는 항들을 갖는 충족되지 않는 모든 SOMME는 프로덕티브 관계를 가지나, 그것은 변수의 공통성의 단일의 또는 다수의 성질이 아니라, 관계를 프로덕티브하게 만드는 한정의 단일의 성질이다.In the case of inter-mapped portions of SOMMEs, the same relation is necessary to be productive ( ie , a single term in one constraint may qualify a single term in another constraint), but this fact is It is usually obscured by the assumption that the SOMME also does not represent a subset of the mappings represented by other SOMMEs in the equation. When this estimate is correct, all unsatisfied SOMMEs with terms that share common variables have a productive relation, but it is not the single or multiple nature of the commonality of the variables, but rather the qualifiers that make the relation productive. is of a single nature.

이들 쌍을 이루는 프로덕티브 관계의 총괄적 함의의 연습에 의해 명백해지는 구조는 수렴의 두 개의 형태를 제공한다. 두 개의 단정은 동일한 변수에 대해 비-불일치한 값 술어들을 나타냄으로써 연언적으로 수렴할 수 있다. 두 개의 단정은 그 후 일부 다른 값 술어를 단정하는 임의의 단일 제약에서 상이한 항들을 한정함으로써 선언적으로 수렴할 수 있다. 연언적으로 수렴하는 단정들 중, 다른 단정들의 부분집합들이 아닌 단정들은 보통 우세하게 만들어진다. 선언적으로 수렴하는 단정들 중, 모두는 그것들이 수렴하기 전에 우세하게 된다.Structures clarified by practice of the collective implications of these paired product relationships provide two forms of convergence. Two assertions can converge chronologically by expressing non-inconsistent value predicates for the same variable. The two assertions can then converge declaratively by qualifying the different terms in any single constraint that asserts some other value predicate. Among assertions that converge chronologically, assertions that are not subsets of other assertions are usually made predominantly. Of the assertions that converge declaratively, all predominate before they converge.

함의 구조가 논리곱의 두 개의 상이한 형태에 의해 생성되기 때문에, 부정확하지는 않더라도, 부분적으로 배열된 구조를, 격자들의 더미, 또는 종래 네트워크로 칭하는 것은 애매할 수 있다. 대신, 우리는 함의 구조를 종래 네트워크들 상에서 작동하기 위해 정의되었던 연산들이 라이좀 네트워크들 상에서 작동하기 위해 정의되는 연산들과 유사할 수 있다는 것을 강조하기 위해 "라이좀 네트워크"라고 칭하나, 라이좀 네트워크들 상에서 작동하는 본 발명의 일부 연산들에 의해 핸들링되어야 하는 증가된 수의 기능의 경우 및 기계적 세부 사항은 이들 연산들을 부분적으로 배열된 집합들 또는 종래 네트워크들 상에서 작동하기 위해 정의되었던 유사한 연산들과 상당히 상이하게 만든다.It can be ambiguous, if not imprecise, to refer to a partially arranged structure as a stack of lattices, or a conventional network, since the implied structure is produced by two different forms of a logical product. Instead, we call the implication structure a “lysomal network” to emphasize that the operations that have been defined to operate on conventional networks may be similar to the operations defined to operate on lysomal networks, but The case and mechanical details of the increased number of functions that must be handled by some operations of the present invention operating on networks are to make these operations partially arranged sets or similar operations that have been defined to operate on prior networks. makes it quite different from

위에서 설명된 바와 같이, 프로덕티브 관계를 갖고, 하나의 제약의 단정이 실제로 다른 제약에서의 항을 한정하는 두 개의 제약은 함의적으로 명백한 라이좀 네트워크에서 "연접"하는 것이라고 한다. 단어가 본 출원에서 사용될 때, 근접성은 함의적으로 명백한 라이좀 네트워크에서의 연접 제약들에 걸친 거리상에서 발견되고, 확장된 연접성에 의해 정의되는 공간은 근접 공간이다.As explained above, two constraints that have a productive relationship, and in which the assertion of one constraint actually defines a term in the other constraint, are said to be "concatenated" in an implicitly explicit lysomal network. As the word is used in this application, proximity is found on a distance over concatenation constraints in an implicitly explicit lysomal network, and the space defined by extended contiguousness is the proximal space.

모순들 & 가정들을contradictions & assumptions 핸들링하는 것 handling

제약들 및 변수들 및 항들 간 직접적인 참조의 일부 방법이 구현되어야 한다. 소프트웨어에서, 이는 인덱스들을 생성함으로써 보통 실현된다. 전자 하드웨어에서, 이는 예를 들어, 배선으로 실현될 수 있다.Some method of direct reference between constraints and variables and terms must be implemented. In software, this is usually accomplished by creating indices. In electronic hardware, this can be realized, for example, with wiring.

논란의 여지가 없는 변수들을 나타내는 항들을 포함하는 제약들은 안전하게 제거될 수 있다.Constraints containing terms representing non-controversial variables can be safely removed.

단지 하나의 항을 포함하는 임의의 제약은 항에 의해 표현되는 값 술어의 무조건적 단정을 구성한다. 새로운 무조건적 단정이 인식될 때는 언제든지, 함의가 발생해야 한다.Any constraint containing only one term constitutes an unconditional assertion of the value predicate represented by the term. Whenever a new unconditional assertion is recognized, an implication must arise.

함의가 중단되었고 어떤 모순된 제약도 존재하지 않는다면, 가정이 어떤 결정 요인도 갖지 않는 변수에 대해 생성되어야 하거나, 모든 변수가 결정 요인을 갖는 경우, 가정은 결정 요인에 의해 표현되는 집합의 원소수를 감소시키는 하나보다 많은 원자 값을 포함하는 집합을 나타내는 결정 요인을 갖는 변수에 대해 생성되어야 하고, 그 후 함의가 발생해야 한다.If the implication is stopped and no contradictory constraint exists, then an assumption must be made for a variable with no determinant, or if all variables have a determinant, the assumption determines the number of elements in the set represented by the determinant. A decreasing must be created for a variable with a determinant representing a set containing more than one atomic value, and then the implications must arise.

함의가 중단되었고 하나 이상의 모순된 제약이 존재한다면, 하나의 모순이 일부 방식으로 해결되어야 하고, 그 후 함의가 발생해야 한다. 이러한 단계는 더 이상 모순된 제약이 존재하지 않거나 또는 무조건적 제약이 존재할 때까지 반복되어야 한다.If the implication has ceased and more than one contradicting constraint exists, then one contradiction must be resolved in some way, and then the implication must arise. These steps must be repeated until there are no more contradicting constraints or unconditional constraints.

모든 상기한 단계는 필연적인 모순이 존재할 때(이 경우 식은 충족 불가능하다)까지, 아니면 식이 충족될 때까지 반복되어야 한다.All the above steps must be repeated until the inevitable contradiction exists (in this case the expression is unsatisfactory), or until the expression is satisfied.

모순을 해결하는 것resolving contradictions

제약에서의 모든 항이 한정되는 경우, 제약에 모순이 존재한다. 모순된 제약의 모든 항이 무조건적으로 한정된다면, 필연적인 모순이 존재하고, 식은 충족 불가능하며, 프로세싱이 중단된다. 모순된 제약의 일부 항들이 무조건적으로 한정된다면, 모순은 해결될 수 있고 프로세싱은 계속된다.When all terms in a constraint are bound, a contradiction exists in the constraint. If all terms of the contradictory constraint are unconditionally bound, then a necessary contradiction exists, the expression is unsatisfactory, and processing stops. If some terms of the contradictory constraint are unconditionally bound, the contradiction can be resolved and processing continues.

본 발명의 of the present invention 실시예들의of the embodiments 거동들 behaviors

이하는 본 발명의 실시예들의 거동들, 및 특히 모순들이 본 발명의 실시예들에 따라 어떻게 해결되는지를 설명한다.The following describes the behaviors of embodiments of the present invention, and in particular how contradictions are resolved according to embodiments of the present invention.

NP, NP-완전, 또는 NP-난해에 있는 문제들은 가정들이 명백하게 또는 함축적으로 만들어지지 않는 한 결정성 기계에 의해 풀이될 수 없다. 일반적인 알고리즘이 하이퍼-다항식 비용을 초래하지 않고 그리고 알고리즘이 문제의 각 특정한 인스턴스를 수용하도록 튜닝될 필요 없이 그러한 문제들을 풀이할 수 있도록, 알고리즘은 특정한 거동들을 나타낼 수 있다.Problems in NP, NP-complete, or NP-hard cannot be solved by a deterministic machine unless assumptions are made explicitly or implicitly. An algorithm may exhibit specific behaviors such that a generic algorithm can solve such problems without incurring hyper-polynomial cost and without the algorithm having to be tuned to accommodate each particular instance of the problem.

거동 #1Behavior #1

하이퍼-다항식 비용을 초래하지 않고 그리고 알고리즘이 튜닝될 필요 없이 NP, NP-완전, 또는 NP-난해 문제들을 풀이하는 알고리즘에 의해 보여질 수 있는 하나의 거동("거동 #1")은 모순들이 가정들의 함의에 의해 명백해지는 라이좀 네트워크들에서 발견될 때, 모순을 초래하는 우세한 경로들에서의 모든 제약을 충족시키기 위해, 단정되는 어떤 불일치하는 값 술어도 존재하지 않는 항에 대한 값 술어를 단정하려는 시도 시 이들 모순이 네트워크들을 통해 이동되는 것이다.One behavior (“behavior #1”) that can be exhibited by an algorithm that solves NP, NP-complete, or NP-hard problems without incurring hyper-polynomial cost and without the algorithm needing to be tuned is that contradictions are assumed When found in lysomal networks, which are evident by the implication of In an attempt, these contradictions are moved through networks.

유전학 알고리즘들과 같은, 추정상의 해의 무작위 변경들에 의존하는 알고리즘들은 해의 집합이 전혀 존재하지 않는 경우를 식별하지 않고 해의 집합이 작을 때 무한하게 미앤더링(meandering) 변형들을 수행하는 것에 영향을 받기 쉽다. 확실치 않은 수의 항으로 구성되는 새로운 요약된 제약들을 생성하기 위해 모순들을 파라미터화하는 알고리즘들은, 가정들이 선택되는 순서가 걷잡을 수 없게 될 때 또는 동일한 값 술어들의 단정들 중 어떤 단정이 우세하게 되어야 하는지를 결정하는 배열이 걷잡을 수 없게 될 때, 제약들의 하이퍼-다항식 수들을 생성하는 것을 위태롭게 한다. 요약된 제약을 형성하는 알고리즘들에서의 걷잡을 수 없는 배열들을 회피하는 것은 어떤 튜닝을 제공해야 하는지이다; 따라서 튜닝 없이 비-하이퍼-다항식 비용의 솔루션들을 제공하기 위해, 거동 #1은 무작위 변형들에 의존하지 않고 그리고 확실치 않은 수의 항들을 가지고 새로운 요약된 제약들을 형성하는 것을 회피하면서 모순들을 해결한다.Algorithms that rely on random alterations of putative solutions, such as genetics algorithms, do not discriminate when the set of solutions does not exist at all and have an effect on performing infinitely meandering transformations when the set of solutions is small. easy to receive Algorithms that parameterize contradictions to produce new summarized constraints consisting of an indeterminate number of terms determine which of the assertions of equal-value predicates should prevail when the order in which the assumptions are chosen becomes out of whack. When the determining arrangement gets out of hand, it jeopardizes generating hyper-polynomial numbers of constraints. Avoiding outrageous alignments in algorithms that form the summarized constraint is what tuning should be provided; Thus, to provide solutions of non-hyper-polynomial cost without tuning, behavior #1 resolves contradictions without resorting to random transformations and avoiding forming new summarized constraints with an uncertain number of terms.

라이좀 네트워크 내의 모순들의 모션을 설명하기 위해, 이하 추가적인 정의들이 제공된다.To account for the motion of contradictions within the lysomal network, additional definitions are provided below.

목적지들(Destinations)Destinations

본 발명의 특정한 실시예들에서, 가정들은 비-우세하나 가정이 나타내는 변수에 대한 결정 요인에 기여한다. 한정된, 그러나 한정을 나타내는 결정 요인을 생성하기 위해 연언적으로 수렴하는 어떤 잔존하는 우세한 단정들이 존재하지 않는 항은, 단정이 이어서 제거되었거나, 또는 우세하지 않은 함의된 단정에 의해 부분적으로 한정되지 않으면, 가정에 의해 한정되거나 우세한 단정에 의해 한정된다. 각 모순은, 가정에 의해 한정되는 항으로, 또는 기록된 한정이 모순으로 이어지고 이를 생성하는 우세한 경로의 부분인 우세한 단정들에 의해 완전히 지지되지 않는 일부 다른 항으로 이동되어야 한다. 기록된 한정이 우세한 단정들에 의해 완전히 지지되지 않는 항들은 "목적지들"이라 칭하고, 잔존하는 우세한 단정들의 연언적 수렴에 의해 완전히 지지되지 않는 목적지들 및 가정들은 "의사-가정들"이라 칭한다.In certain embodiments of the invention, the assumptions are non-dominant but contribute to the determinant of the variable that the assumption represents. A term that is defined, but does not have any remaining dominant assertions that converge chronologically to produce a determinant representing the limitation, unless the assertion has subsequently been removed or is not partially limited by a non-dominant implied assertion, bounded by assumptions or bounded by the prevailing assertions. Each contradiction must be moved to a term defined by an assumption, or some other term that is not fully supported by the prevailing assertions that are part of the prevailing path through which the written limitation leads to and produces the contradiction. Terms for which the written definition is not fully supported by the prevailing assertions are termed "destinations", and destinations and assumptions not fully supported by the lexical convergence of the remaining dominant assertions are termed "pseudo-assumptions".

반대-단정들(Counter-Assertions)Counter-Assertions

각 모순의 이동은 모순된 제약에 있는 조건부로 한정된 항에 대한 값 술어를 "반대-단정"함으로써 발생한다.Each contradiction shift occurs by "counter-asserting" the value predicate for the conditionally defined term in the contradictory constraint.

부정(Negating)Negating

반대-단정은 하나의 제약에서의 모순을 해결하고 반대-단정에 의해 표현되는 변수에 대한 결정 요인에 기여되는 일부 단정들을 "부정"할 수 있다. 가정적 단정의 부정은 가정을 제거한다. 함의된 단정 또는 반대-단정된 단정의 부정은 단정 그 자체를 제거하고 이의 제약에서의 모순을 형성한다.The opposite-assert can resolve the contradiction in one constraint and "negate" some assertions that contribute to the determinant of the variable represented by the opposite-assert. The negation of the hypothetical assertion removes the assumption. The negation of the implied assertion or the counter-assertive assertion removes the assertion itself and forms a contradiction in its constraints.

반대-단정은 또한 단정되지 않고 있었던 제약에서의 한정을 또한 제공하고 해당 제약으로부터 함의된 단정을 생성할 수 있다.A counter-assert can also provide a constraint in a constraint that has not been asserted and create an implied assertion from that constraint.

제약들의 of constraints 모션motion (Motion of Constraints)(Motion of Constraints)

다른 값 술어가 반대-단정되는 변수를 나타내고 반대-단정된 값 술어와 불일치하거나 반대-단정된 값 술어 및 및 해당 변수에 대한 결정 요인에 기여하는 다른 단정들의 교집합과 불일치하는 값 술어의 단정을 제공한 임의의 제약은 부정되고, 그에 따라 모순을 반대-단정 제약으로부터 불일치하는 단정들을 제공한 연접 제약들로 이동시킨다. 목적지 가정이 부정될 때, 또는 값 술어가 한정되는 것으로 인식된 항에 대해 반대-단정되나 한정 결정 요인이 우세한 단정들에 의해 완전히 지지되지 않을 때, 이전 모순의 우세한 경로들을 구현하는 제약들에는 어떤 모순도 존재하지 않는다; 그리고 거동 #3이 제공되는 한, 모순은 모순의 기록된 우세한 경로에서 축출되고, 전체로서의 식은 함의 또는 반대-단정의 새로운 경로들이 가정의 부정에 의해 발견되거나 형성되지 않고 다른 모순들이 이미 축출된 경우 충족되게 될 수 있다.Provides an assertion of a value predicate whose other value predicate represents the variable against which it is to be asserted and that is inconsistent with the opposing-asserted value predicate or the intersection of the opposite-asserted value predicate and other assertions contributing to the determinant of that variable Any constraint is negated, thus shifting the contradiction from the anti-assert constraint to the concatenating constraints that provided inconsistent assertions. When the destination assumption is negated, or when a value predicate is counter-asserted for a term recognized as being bound, but the qualifying determinant is not fully supported by the prevailing assertions, some constraints embodying the prevailing paths of the previous contradiction There is no contradiction; And, as far as behavior #3 is provided, the contradiction is expelled from the recorded dominant path of the contradiction, and the expression as a whole is where no new paths of implication or counter-assertions are discovered or formed by the negation of the assumption and other contradictions have already been expelled. can be satisfied.

거동 #2Behavior #2

하이퍼-다항식 비용을 초래하지 않고 그리고 튜닝을 필요로 하지 않고 NP, NP-완전, 또는 NP-난해 문제들을 풀이하는 알고리즘에 의해 보여질 수 있는 다른 거동("거동 #2")은: (1) 알고리즘이 반대-단정된 값 술어가 무조건적이어야 하는 경우를 인식하는 것, 및 (2) 알고리즘이 반대-단정이 무조건적이어야 할 때를 인식하기 위해 하이퍼-다항식 비용을 초래하지 않는 것이다. 자명하게, 반대-단정은 모순된 제약에서의 항들 중 하나를 제외한 모든 항이 무조건적으로 한정되고, 종래 수학적 분석이 SOMME들이 목적지들의 실존에 관계없이 값 술어를 무조건적으로 반대-단정하는 것을 필요로 하는 상황들이 존재할 수 있는 경우 무조건이어야 한다; 그러나 제약에서의 항에 대한 값 술어의 반대-단정은, 반대-단정에 의해 추정하여 부정되는 우세한 단정들을 제공하는 하위-경로들을 배제하는, 추정상의 반대-단정의 경로가 임의의 목적지들을 포함하지 않을 때 또한 무조건적이어야 한다.Other behaviors that may be exhibited by algorithms that solve NP, NP-complete, or NP-hard problems without incurring hyper-polynomial cost and requiring no tuning (“behavior #2”) are: (1) For the algorithm to recognize when the opposite-assert value predicate must be unconditional, and (2) for the algorithm not to incur hyper-polynomial cost to recognize when the opposite-assert must be unconditional. Obviously, the opposite-assert is a situation in which all but one of the terms in the contradictory constraint are unconditionally bound, and conventional mathematical analysis requires SOMMEs to unconditionally oppose-assert the value predicate regardless of the existence of destinations. must be unconditional if they can exist; However, the opposite-predicate of a value predicate for a term in a constraint excludes sub-paths that give dominant assertions that are presumed to be negated by the inverse-assert that the path of the putative opposite-assert does not contain any destinations. When not, it must also be unconditional.

식이 무조건적인 것으로 인식되어야 하는 반대-단정을 부정함으로써 충족될 수 없다는 것을 인식하는데 실패한 알고리즘은 문제 식이 비-자명하게 충족 불가능할 때 무한 회 이의 경로의 부분을 되짚어 갈 수 있다.An algorithm that fails to recognize that an expression cannot be satisfied by negating the counter-assert that it should be recognized as unconditional can traverse part of its path infinitely when the problem expression is non-obviously unsatisfactory.

거동 #3Behavior #3

하이퍼-다항식 비용을 초래하지 않고 그리고 튜닝을 필요로 하지 않고 NP, NP-완전, 또는 NP-난해 문제들을 풀이하는 알고리즘에 의해 보여질 수 있는 다른 거동("거동 #3")은 반대-단정되는 값 술어가 반대-단정 제약에서의 모순을 해결해야할 뿐만 아니라, 반대-단정으로 이어지고 이를 생성하는 우세한 경로에서의 제약들 중 임의의 제약에서의 모순을 형성해서는 안 되며, 반대-단정에 의해 명확하게 부정되는 단정들을 제공한 제약들을 배제하는 것이다. 이러한 거동은 어떤 값 술어를 반대-단정할지에 대한 결정이 반대-단정으로 이어지고 이를 생성하는 우세한 경로에 대한 정보를 갖는 것을 필요로 한다.Another behavior (“behavior #3”) that may be exhibited by an algorithm that solves NP, NP-complete, or NP-difficult problems without incurring hyper-polynomial cost and requiring no tuning (“behavior #3”) is that Not only must the value predicate resolve the contradiction in the opposite-assert constraint, but it must not form a contradiction in any of the constraints in the predominant path leading to and producing the opposite-assertiveness, and must be explicitly It excludes the constraints that have provided negated assertions. This behavior requires that decisions about which value predicates to counter-assert have information about the dominant path leading to and generating the counter-assertions.

반대-단정된 값 술어가 반대-단정의 우세한 경로에 있는 제약들 중 하나 이상에서의 모순을 형성하는 것이 가능하다면, 간격 뉴턴 방법(Interval Newton method)과 같은 근사 알고리즘들에서 흔한 경우이듯이, 확실치 않고, 따라서 하이퍼-다항식인 다수의 루프를 갖는 반대-단정된 값 술어를 수정하는 수정 루프가 발생할 수 있다는 것이 가능하다.If it is possible for an opposing-asserted value predicate to form a contradiction in one or more of the constraints on the dominant path of the opposing-assert, as is the case with approximation algorithms such as the Interval Newton method, , it is possible that a modification loop can occur that modifies the inverse-asserted value predicate with multiple loops being hyper-polynomial.

많은 값을 갖는 논리가 식에 의해 사용되지 않을 때, 모순된 제약에서의 임의의 조건부로 한정된 항은 함의의 규칙들에 따라 반대-단정될 수 있다, 그리고 해당 반대-단정은 반대-단정으로 이어지고 이를 생성하는 우세한 경로에서의 제약들에서의 모순들을 형성하지 않도록 보장된다.When no multi-valued logic is used by an expression, any conditionally qualified term in a contradictory constraint can be counter-asserted according to the rules of implication, and that counter-assertion leads to an anti-assert It is guaranteed not to form contradictions in the constraints on the prevailing path that create it.

거동 #4Behavior #4

하이퍼-다항식 비용을 초래하지 않고 그리고 튜닝을 필요로 하지 않고 NP, NP-완전, 또는 NP-난해 문제들을 풀이하는 알고리즘에 의해 보여질 수 있는 다른 거동("거동 #4")은 다수의 경로가 모순을 축출함으로써 식을 충족시키기 위해 동일한 퍼텐셜을 가질 때, 값 술어가 반대-단정될 모순된 제약에 있는 항이 선택되는 방식이 모순의 모션이 동일한 경로의 하이퍼-다항식 수의 반복을 갖는 경로들도 경로들의 하이퍼-다항식 수의 변형들도 되짚어가지 않는 것이어야 하는 것이다.Another behavior (“behavior #4”) that may be exhibited by an algorithm that solves NP, NP-complete, or NP-difficult problems without incurring hyper-polynomial cost and requiring no tuning is that multiple paths The way the terms in the contradictory constraint for which the value predicate is to be counter-asserted are chosen, when they have the same potential to satisfy the expression by expelling the contradiction, is that the motion of the contradiction also Transformations of the hyper-polynomial number of paths should also be non-regressive.

이점들Advantages

본 발명의 실시예들은 거동 #1, 거동 #2, 거동 #3, 및 거동 #4 중 임의의 하나 이상을 나타낼 수 있으며, 이의 각각은 디바이스, 소프트웨어, 또는 자동화된 프로세스를 사용하여, 임의의 조합으로 구현될 수 있다. 본 발명의 실시예들은 위에서 설명된 혜택들을 제공함으로써 컴퓨터 그 자체의 기능을 개선하기 위해 구현될 수 있다. 그러한 실시예들은 본 출원에서 개시되는 신규한 그리고 비자명한 기술들을 사용하여 그것들의 이로운 결과들을 달성하고, 따라서 단지 컴퓨터상에 추상적인 아이디어를 적용하기 위한 또는 그 상에서 추상적인 아이디어를 구현하기 위한 명령이 되지 않는다. 개선된 컴퓨터(또는 개선된 프로세서와 같은, 그것의 하나 이상의 구성요소)의 형태를 취하는 본 발명의 실시예들은 본 출원에서 개시된 신규한 그리고 비자명한 기능들을 수행하기 위한 신규한 그리고 비자명한 회로들과 같은 신규한 그리고 비자명한 구성요소들을 포함한다. 그러한 신규한 그리고 비자명한 회로들은 신규하고 비자명하기 때문에, 일반적인 컴퓨터 구성요소들이 아니나, 대신 전체로서, 그것들이 해당 기술분야에서의 통상의 기술자들에게 공지되어 있는 특정한 하위 구성요소들(특정한 논리 게이트들과 같은)을 포함하더라도, 본 발명의 실시예들에 특유한 구성요소들이다.Embodiments of the present invention may exhibit any one or more of behavior #1, behavior #2, behavior #3, and behavior #4, each of which may be in any combination, using a device, software, or automated process. can be implemented as Embodiments of the present invention may be implemented to improve the functionality of the computer itself by providing the benefits described above. Such embodiments use the novel and non-obvious techniques disclosed herein to achieve their beneficial results, and thus merely provide instructions for applying the abstract idea on a computer or for implementing the abstract idea thereon. this doesn't happen Embodiments of the invention, which take the form of an improved computer (or one or more components thereof, such as an improved processor), provide novel and non-obvious circuitry for performing the novel and non-obvious functions disclosed herein. new and non-obvious components such as Since such novel and non-obvious circuits are novel and non-obvious, they are not general computer components, but instead, as a whole, they are composed of specific sub-components (specific logic) known to those skilled in the art. gates (such as gates), are components specific to embodiments of the present invention.

총괄적으로, 위에서 나열된 네 개의 거동은 하이퍼-다항식 비용을 초래하지 않고 그리고 튜닝하지 않고 NP, NP-완전, 또는 NP-난해 문제들을 풀이하기에 충분하다. 모든 네 개의 거동을 나타내는 알고리즘을 제공하는 것은 두 개의 값을 갖는 논리에 대해서도, P = NP라는 증명에 이른다. P = NP인지 아닌지에 대한 질문은 1970년에 공식적으로 제기되었고 2000년에 시작된 클레이 수학 연구소에 의해 부여되는 매우 의미있는 상 및 출전자들이 그러한 어려운 문제들을 최소한의 시간 내에 풀이하려고 시도하는 많은 정기적으로 예정된 국제 및 지역 대회들의 존재에도 불구하고, 지금까지 풀리지 않은 채로 남아있다는 것을 고려하면, 이들 네 개의 거동을 제공하는 모든 디바이스, 컴퓨터 프로그램, 또는 자동화된 프로세스는 어떤 단편적인 기술 구성요소들이 종래 기술에 존재하는지에 관계없이, 명백하게 비-자명하다.Collectively, the four behaviors listed above are sufficient to solve NP, NP-complete, or NP-hard problems without incurring hyper-polynomial cost and without tuning. Providing an algorithm representing all four behaviors leads to the proof that P = NP, even for two-valued logic. The question of whether P = NP was raised formally in 1970 and a very significant prize awarded by the Clay Mathematics Institute started in 2000 and many regularly scheduled contestants in which exhibitors attempt to solve such difficult problems in minimal time. Considering that despite the existence of international and regional competitions, it remains unsolved so far, any device, computer program, or automated process providing these four behaviors has some piecemeal technical component in the prior art. Regardless, it is clearly non-obvious.

거동 #1을 나타내는 것Indicating behavior #1

반대-단정은 거동 #1을 나타낸다. 모순들이 특정한 시퀀스들로 풀이되는 것이 효율적이다. 하나의 원래의 모순의 해결 뒤에는 원래의 모순된 제약 등으로부터 생성되는 반대-단정에 의해 부정된 우세한 단정들 중 하나를 제공한 제약에서 생성되는 모순의 해결이 가장 잘 따라온다. 모순들은 다른 순서들로 해결될 수 있으나, 이러한 순서로 이들을 해결하는 것이 그 외 이들 추적 요소에서의 엄격한 정확도를 제공하는 것에 필요할 수 있는 우세한 단정들의 경로들을 추적하는 가능한 수단의 수정들의 수를 감소시킨다.The opposite-assert is behavior #1. It is efficient for contradictions to be resolved in specific sequences. The resolution of one original contradiction is best followed by the resolution of the contradiction generated from the constraint that provided one of the prevailing assertions negated by the counter-assurance generated from the original contradictory constraint, etc. Contradictions may be resolved in other orders, but resolving them in this order reduces the number of possible modifications of the means of tracing the paths of prevailing assertions that may otherwise be necessary to provide stringent accuracy in these tracking elements. .

단정들 및 반대-단정들로 이어지고 이를 생성하는 우세한 경로들의 엄격하게 유지되는 기록들에 대해, 단지 하나의 그러한 기록이 각 단정된 값 술어에 대해 요구된다. 엄격하게 유지된 기록들을 없이, 더 아래에 설명될 바와 같이, 특정한 값 술어의 모든 과거 및 현재 단정의 이력을 저장하는 것 또는 디더링이 관련 기록들을 수정하게 하는 방법에 의존하는 것이 필요할 수 있다. (기록들의 엄격하고 여유로운 유지의 설명이 그것들의 기록들의 성질이 논의된 후, 더 아래에 제공된다.For strictly maintained records of the dominant paths leading to and producing assertions and counter-assertions, only one such record is required for each asserted value predicate. Without strictly maintained records, as will be explained further below, it may be necessary to store a history of all past and present assertions of a particular value predicate, or to rely on a method that allows dithering to modify the associated records. (A description of the rigorous and leisurely maintenance of records is provided further below, after the nature of their records is discussed.

단정들의 지속성persistence of assertions

제1 조건부 우세한 단정이 그것이 그것들의 한정들이 지지를 위한 다른 우세한 단정들에 의존한 이의 제약의 항들에 대한 한정들에 의해 강제되었던 것이고 그것들의 다른 우세한 단정들 중 하나 이상이 부정되었을 때, 제1 우세한 단정은 계속해서 지속될 수 있다. 일반적으로, 이것이 제거하는 작업 및 재-전파 단정들을 제거하기 때문에, 단정들이 명백하게 부정되지 않는 한 그것들이 지속되는 것이 더 나으나; 지속성이 필수는 아니다.A first conditionally dominant assertion is when it has been constrained by restrictions on the terms of its constraint for which its definitions depend on other dominant assertions for support, and when one or more of their other dominant assertions is negated, the first The prevailing assertion can go on and on. In general, since this removes work and re-propagation assertions, it is better for them to persist unless assertions are explicitly negated; Persistence is not essential.

거동 #2를 나타내는 것Indicating behavior #2

반대-단정이 비-자명한 상황에서 무조건적이어야 할 때를 인식하는 거동을 나타내기 위해 반대-단정의 경로에서 부정된 우세한 단정들의 하위-경로들을 배제하는 것이 필요하고, 이러한 배제는 우세한 단정들로 이어지는 경로들을 추적함으로써 가능하게 될 수 있다. 우세한 단정들의 경로들을 추적하는 것은 종래 기술의 부분이나, 본 발명의 일부 실시예들은 추적 데이터 구조에 특정한 요소들을 추가함으로써 종래 기술에 있는 추적을 증강한다.It is necessary to exclude sub-paths of negated dominant assertions from the path of counter-assertions in order to exhibit the behavior of recognizing when the counter-assertions should be unconditional in non-obvious situations, and this exclusion is This can be made possible by tracing the following paths. It is part of the prior art to track the paths of predominate assertions, but some embodiments of the present invention augment the tracking in the prior art by adding specific elements to the tracking data structure.

함의된 단정들의 완전한 근거들Complete grounds for implied assertions

본 발명의 특정한 실시예들에서, 각 우세한 단정들은 현재 우세한 단정으로 이어지고 이를 생성한 우세한 경로들의 제약들에서의 항들을 한정한 이전 단정들의 값 술어들을 포함하는 "완전한 근거"를 기록하고, 완전한 근거 상 각 값은 카운트들로 증강된다. 하나의 그러한 카운트는 "기성(fulfilled)" 카운트이다.In certain embodiments of the present invention, each dominant assertion records a "full rationale" comprising the value predicates of previous assertions that define terms in the constraints of the dominant paths leading to and producing the currently dominant assertion, and Each value is augmented with counts. One such count is a “fulfilled” count.

기성 카운트가 어떤 다른 카운트도 존재하지 않을 때 함의 동안 어떻게 누적되는지를 설명하기 위해:To illustrate how ready-made counts accumulate during implication when no other counts exist:

가정은 빈 완전한 근거를 갖는다; 그리고The assumption has an empty full basis; and

후보 함의된 우세한 단정은, 무조건적이지 않고 후보 단정이 유도되는 제약에서의 항들을 한정하는 결정 요인들을 생성하기 위해 연언적으로 수렴하는 모든 잔존하는 우세한 단정에 대한 완전한 근거들 상 값 술어들의 집합의 합집합을 포함하는 완전한 근거를 가지며, 무조건적이지 않고 후보 단정이 유도되는 제약에서의 항들을 한정하는 단정들의 값 술어들의 집합과 합해진다; 그리고The candidate implied dominant assertion is the union of the set of value predicates on the complete grounds for all remaining dominant assertions that are not unconditional and converge chronologically to produce determinants that define terms in the constraint from which the candidate assertion is derived. is summed with a set of value predicates of assertions that are not unconditional and define terms in the constraint from which the candidate assertion is derived; and

후보 단정의 완전한 근거 상 특정한 값 술어가 합해진 이전에 파퓰레이팅된 완전한 근거 중 정확하게 하나로부터 유도될 때, 해당 값 술어에 대한 기성 카운트는 그것이 유도되는 이전에 파퓰레이팅된 완전한 근거로부터 승계된다; 그리고When a value predicate on the full basis of a candidate assertion derives from exactly one of the previously populated complete rationales it is aggregated with, the established count for that value predicate inherits from the previously populated complete rationale from which it is derived; and

후보 단정의 완전한 근거 상 특정한 값 술어가 이전에 파퓰레이팅된 완전한 근거로부터 유도되고 이들 합해진 이전에 파퓰레이팅된 완전한 근거 중 두 개 이상의 근거 사이에서 공유될 때, 기성 카운트는 이전에 파퓰레이팅된 완전한 근거들로부터 유도되는 대응 기성 카운트들의 합이다; 그리고When a particular value predicate is derived from a previously populated full rationale for a candidate assertion and is shared between two or more of these combined previously populated complete rationales, the ready-made count is calculated as a previously populated complete rationale. is the sum of corresponding ready-made counts derived from ; and

후보 단정의 완전한 근거 상 특정한 값 술어가 합해진 이전에 파퓰레이팅된 완전한 근거들 중 임의의 근거로부터 유도되지 않을 때, 이러한 값 술어에 대한 기성 카운트는 제로와 동일한 것으로 초기화된다; 그리고When a given value predicate is not derived from any of the previously populated complete grounds summed up on the full grounds of a candidate assertion, the ready count for this value predicate is initialized to equal to zero; and

후보 단정의 완전한 근거 상 임의의 값 술어에 대한 기성 카운트는, 무조건적이지 않고 후보 단정이 유도되는 제약에서의 항들을 한정하는 단정들의 값 술어들의 집합에서의 각 값 술어에 대해 하나씩 증분된다.The ready count for any value predicate on the full basis of the candidate assertion is incremented by one for each value predicate in the set of value predicates of the assertions that are not unconditional and define terms in the constraint from which the candidate assertion is derived.

기성 카운트는 단일의 그 결과로 생긴 제1 우세한 단정으로 이어지고 이를 생성한 우세한 경로들에서의 이전 우세한 단정들을 인코딩하는 방식이다. 이러한 인코딩에서의 카운트들은 제2 우세한 단정의 우세한 경로가 제1 우세한 단정으로 이어지고 이를 생성한 다른 우세한 단정들의 우세한 경로들에 공통적일 수 있는 임의의 하부-경로들을 제거하지 않고 제1 우세한 단정의 완전한 근거로부터 감산될 수 있게 한다. 이러한 능력은 어떤 한정된 항들이 반대-단정될 수 있는지 및 어떤 반대-단정들이 무조건적이어야 하는지를 결정하기 위해 한정 우세한 단정들의 우세한 경로들의 적절한 분석에 유용하다.A ready count is a way of encoding the previous dominant assertions in the dominant paths leading to a single resulting first dominant assertion and producing it. The counts in this encoding are the complete path of the first dominant assertion without removing any sub-paths that may be common to the dominant paths of other dominant assertions that lead to the first dominant assertion and which created it. to be subtracted from the evidence. This capability is useful in the proper analysis of the dominant paths of constraint dominant assertions to determine which constrained terms can be counter-asserted and which counter-assertions should be unconditional.

원격 카운트들(remote counts ( farnessfarness counts) counts)

거동 #2는, 오름 아니면 내림 차순으로 액세스될 때, 해당 후보 단정으로 이어지고 이를 생성한 단정들 중 임의의 단정을 대면하기 전 경로에서의 후보 단정이 항상 대면되도록(항 배열에 의해), 반대-단정으로 이어지고 이를 생성하는 경로에 있는 한정된 항들의 배열을 제공하는 일부 수단에 의해 보여질 수 있다. "원격 카운트들"은 그러한 배열을 제공한다. 원격 카운트들 이러한 배열을 제공하는 일부 다른 수단이 거동 #2를 나타내기 위해 채용될 수 있다. "최대 거리 카운트들" 및 신중하게 유지된 우세함 번호들은 원격 카운트들인 것으로 고려된다. 우세함 번호들이 원격 카운트들로서 사용될 수 있는 한에 있어서는, 내림 차순이 통상적으로 우세함 번호들에 대한 그러한 원격 배열을 제공하더라도, 원격 카운트들의 배열을 나타낼 때 사용되는 언어는 원격 카운트들의 오름 차순이 증가하는 원격을 나타낸다고 가정할 것이다.Behavior #2 is such that, when accessed in ascending or descending order, the candidate assertion in the path leads to that candidate assertion and always faces (by term array) the candidate assertion in the path before encountering any of the assertions that produced it, opposite- It can be seen by some means of providing a definite arrangement of terms in the path leading to and producing the assertion. "Remote counts" provide such an arrangement. Remote Counts Some other means of providing such an arrangement may be employed to exhibit behavior #2. "Maximum distance counts" and carefully maintained dominance numbers are considered remote counts. In so far as dominant numbers can be used as remote counts, the language used when representing an array of remote counts is incremented in ascending order of remote counts, although descending usually provides such a remote arrangement for dominant numbers. will assume that it represents a remote.

각 최대 거리 카운트는 그 결과로 생긴 조건부 우세한 단정 및 그 결과로 생긴 단정의 완전한 근거 상 각 값 술어 간 최대 거리를 기록하며, 여기서 이러한 맥락에서의 "거리"는 값 술어들 및 그 결과로 생긴 조건부 우세한 단정 간 함의의 또는 반대-단정 단계들의 수를 반영한다. 본 발명의 특정한 실시예들에서, 비-가정적인 그 결과로 생긴 조건부 우세한 단정에 대한 완전한 근거 상 최대 거리 카운트들은 이하와 같이 구성된다:Each maximum distance count records the maximum distance between each value predicate on the full basis of the resulting conditional dominant assertion and the resulting assertion, where "distance" in this context refers to the value predicates and the resulting conditional. Reflects the number of pre-assertive inter- assertion connotations or counter-assertive steps. In certain embodiments of the present invention, the maximal distance counts on a full basis for the non-hypothetical resulting conditional dominant assertion are constructed as follows:

그 결과로 생긴 단정의 완전한 근거가 누적될 때, 이전 단정들의 완전한 근거들로부터 유도되는 모든 최대 거리 카운트는 하나씩 증분되고, 완전한 근거로부터 유도되지 않는 값 술어들이 하나와 동일한 최대 거리 카운트를 갖추며, 그 후 그 결과로 생긴 완전한 근거 상 값 술어들의 집합을 생성하는 합집합에서의 동일한 값 술어에 대한 모든 최대 거리 카운트 중에서 가장 큰 단일 최대 거리 카운트가 그 결과로 생긴 단정의 완전한 근거 상 대응 값 술어에 대한 최대 거리 카운트로서 식별되고 할당된다. (가정들이 어떤 완전한 근거도 갖지 않고 그에 따라 그것들의 추정상의 완전한 근거들 상 어떤 거리 카운트도 갖지 않을 수 있다.)When the complete grounds of the resulting assertion are accumulated, all maximum distance counts derived from the complete grounds of the previous assertions are incremented by one, and value predicates not derived from the full basis have a maximum distance count equal to one, and the Then the single largest distance count for the same-value predicate in the union that yields the set of resultant complete rational-value predicates is the largest single maximum distance count for the It is identified and assigned as a distance count. (Assumptions may have no complete basis and thus no distance counts on their putative complete basis.)

미필 카운트들(Unfulfilled Counts)Unfulfilled Counts

본 발명의 실시예들에 의해 사용될 수 있는 비-필연적인 카운트는 "미필" 카운트이다. 미필 카운트들이 사용될 때, 미필 카운트를 누적하는 방식은 위에서 설명된 것과 상이하나, 최대 거리 카운트들을 누적하는 방식은 위에서와 동일하다.A non-essential count that may be used by embodiments of the present invention is an “unfilled” count. When unfilled counts are used, the manner of accumulating the unfilled count is different from that described above, but the manner of accumulating the maximum distance counts is the same as above.

미필 카운트를 어떻게 누적하는지 및 미필 카운트들이 주어진 함의된 조건부 우세한 단정의 완전한 근거 상 사용될 때 미필 카운트를 어떻게 누적하는지 설명하기 위해:To explain how unfilled counts accumulate and how unfilled counts accumulate when used on the full basis of a given implied conditional dominant assertion:

(이 프로세스 설명, 뿐만 아니라 더 아래의 다른 설명들은 "[U1]"과 같은 괄호로 묶은 명제 라벨들을 포함한다. 이들 라벨은 명제들을 고유하게 식별하고 의사-코드에서 텍스트의 들여쓰기에 의해 보통 표시되는 한정적 명제들에 관한 명제들의 내포(nesting)를 명백하게 반복한다. 내포의 표시 없이, 설명은 애매모호하게 해석될 수 있다.)(This process description, as well as other descriptions further below, contain proposition labels in parentheses, such as "[U1]". These labels uniquely identify propositions and are usually indicated by indentation of text in pseudo-code. It explicitly repeats the nesting of the propositions with respect to the qualifying propositions to be made (without indication of nesting, the explanation may be construed vaguely).

[U1] 그 결과로 생긴 완전한 근거의 "기초"는 빈 것으로서 초기화된다.[U1] The resulting "foundation" of the full rationale is initialized as empty.

[U2] 주어진 단정의 제약에서의 항을 한정하는 정확하게 하나의 함의된 조건부 우세한 단정이 존재하는 경우:[U2] If there is exactly one implied conditionally dominant assertion that defines a term in the constraint of the given assertion:

[U2a] 이러한 하나의 함의된 조건부 우세한 단정의 완전한 근거의 내용은 기초로서 카피되고; 그리고 단정 그 자체의 값이 기초에 추가되며, 해당 값은 하나의 미필 카운트 및 제로의 미필 카운트와 연관된다.[U2a] The content of the full basis of this one implied conditional dominant assertion is copied as a basis; And a value of the assertion itself is added to the base, and that value is associated with one unfilled count and zero unfilled counts.

[U3] 주어진 단정의 제약에서의 하나 이상의 항을 한정하는 하나보다 많은 함의된 조건부 우세한 단정이 존재하는 경우:[U3] If there is more than one implied conditionally dominant assertion that defines one or more terms in the constraint of the given assertion:

[U3a] 하나의 함의된 조건부 우세한 단정의 완전한 근거의 내용은 기초로서 카피되고 그 다음 이러한 우세한 단정은 추가 프로세싱에 의해 무시된다.[U3a] The content of the complete rationale of one implied conditional dominant assertion is copied as a basis and then this dominant assertion is ignored by further processing.

[U3b] 주어진 제약에서의 항을 한정하고 추가 프로세싱에 의해 아직 무시되지 않은 각 후보 함의된 조건부 우세한 단정에 대해:[U3b] For each candidate implied conditional dominant assertion that defines a term in a given constraint and has not yet been ignored by further processing:

[U3b1] 후보 단정의 값 술어가 기초에서 나타나는 경우:[U3b1] If the value predicate of the candidate assertion appears in the base:

[U3b1a] 기초에서의 후보 단정의 값에 대한 미필 카운트를 하나씩 증분한다, 그리고 후보 단정은 추가 프로세싱에 의해 무시된다.[U3b1a] Increment the outstanding count for the value of the candidate assertion in the basis by one, and the candidate assertion is ignored by further processing.

[U3b2] 그렇지 않으면:[U3b2] Otherwise:

[U3b2a] 후보 단정의 완전한 근거를 "공동-기초"로서 카피한다.[U3b2a] Copy the complete rationale of the candidate assertion as "co-based".

[U3b2b] 오름 최대 거리 카운트 차순으로, 비-제로 미필 카운트를 갖는 공동-기초에서의 각 후보 값 술어에 대해:[U3b2b] For each candidate value predicate in the co-base with non-zero unfilled counts, in ascending maximum distance count order:

[U3b2b1] 후보 값 술어가 기초에 나타나는 경우, 공동-기초로부터의 후보 값 술어의 우세한 단정의 완전한 근거 상 모든 값 술어와 연관되는 기성 및 미필 카운트들을 감산하고, 공동-기초에서의 후보 값 술어의 기성 카운트에서 하나를 감산하며, 공동-기초에서의 후보 값 술어의 미필 카운트에 하나를 가산한다.[U3b2b1] If a candidate value predicate appears in the base, subtract the established and unfilled counts associated with all value predicates on the full basis of the prevailing assertion of the candidate value predicate from the co-base, and of the candidate value predicate in the co-base One is subtracted from the ready count, and one is added to the unfilled count of the candidate value predicate in the co-based.

[U3b2b2] 공동-기초에서 제로인 기성 및 미필 카운트들 양자를 갖는 모든 값 술어를 제거한다.[U3b2b2] Remove all value predicates with both ready and unfilled counts that are zero on a co-based basis.

[U3b2c] 공동-기초에서의 값 술어들을 그것들이 이미 존재하지 않는 기초에 추가하고, 공동-기초로부터의 기성 및 미필 카운트들을 기초에서의 대응하는 기성 및 미필 카운트들에 가산하고, 후보 단정의 값 술어를 하나의 기성 카운트 및 제로의 미필 카운트를 갖는 기초에 추가하며, 후보 단정은 추가 프로세싱에 의해 무시된다.[U3b2c] add the value predicates in the co-base to a base where they do not already exist, add the ready and unfilled counts from the co-base to the corresponding ready and unfilled counts in the base, the value of the candidate assertion Add the predicate to the base with one ready-made count and zero unfilled count, and the candidate assertion is ignored by further processing.

[U3c]주어진 제약에서의 하나 이상의 항을 한정하는 결정 요인들에 기여하는 조건부 비-우세한 단정 또는 가정의 각 값 술어에 대해:[U3c] For each value predicate of a conditional non-dominant assertion or assumption that contributes to the determinants defining one or more terms in the given constraint:

[U3c1] 후보 단정의 값 술어가 기초에서 나타나는 경우:[U3c1] If the value predicate of the candidate assertion appears in the base:

[U3c1a] 후보 단정의 값 술어와 연관되는 기초에서의 미필 카운트를 하나씩 증분한다.[U3c1a] Increments the outstanding count in the basis associated with the value predicate of the candidate assertion by one.

[U3c2]그렇지 않으면:[U3c2] Otherwise:

[U3c2a] 하나와 동일한 미필 카운트와 연관되는, 기초에 후보 단정의 값 술어를 추가한다.[U3c2a] Add a value predicate of a candidate assertion to the base, associated with an unfilled count equal to one.

[U4] 주어진 제약의 단정의 완전한 근거로서 기초를 사용한다.[U4] Use the basis as the complete basis for the assertion of a given constraint.

위에서 설명된 기성 및 미필 카운트들을 누적하는 방법은 기성 카운트들이 사용되고 미필 카운트들이 사용되지 않을 때 존재하고 그 결과로 생긴 반대-단정을 생성하는 다른 우세한 단정들의 경로들에 공통적인 하위-경로들을 또한 감산하지 않고 (이러한 우세한 단정이 반대-단정과 불일치할 때) 우세한 단정 뒤 경로의 부분의 감산을 허용하는 것에 필요한 정보를 압축하는 수단이다.The method of accumulating ready and unfilled counts described above also subtracts sub-paths common to the paths of other dominant assertions that exist when ready-made counts are used and unfilled counts are not and produce the resulting opposite-assert. It is a means of compressing the information necessary to allow the subtraction of the portion of the path after the dominant assertion (when this dominant assertion is inconsistent with the counter-assert).

미필 카운트들이 사용되지 않을 때, 각 기성 카운트를 나타내기 위해 필요한 비트들의 최대 수는 식에서의 변수들의 수와 동일하다. 미필 카운트들이 위에서 설명된 방식으로 사용될 때, 각 기성 카운트를 나타내기 위해 필요한 비트들의 수는 하나이고, 각 미필 카운트를 나타내기 위해 필요한 비트들의 수는 식에서의 제약들의 수의 베이스-2 로그이며, 이는 그것들의 스위치들을 작동하기 위한 비용 및 카운트들을 나타내기 위해 필요한 스위치들의 수의 상당한 감소이다.When unfilled counts are not used, the maximum number of bits needed to represent each ready count is equal to the number of variables in the equation. When unfilled counts are used in the manner described above, the number of bits required to represent each ready count is one, and the number of bits needed to represent each unfilled count is the base-2 logarithm of the number of constraints in the equation, This is a significant reduction in the cost of operating those switches and the number of switches needed to represent the counts.

기초로부터의 감산들의 순차를 유지하는 것maintaining the sequence of subtractions from the base

기초로부터의 우세한 단정들의 감산을 배열하기 위해 최대 거리 카운트들 대신 우세함 번호들을 사용하는 것이 가능하나, 이는 우세함 번호들이 일관되게 원격 카운트들로서의 역할을 하고, 그에 따라 기초로부터 감산되는 그것들의 완전한 근거들을 가져야 하는 다른 우세한 단정들 및 기초로부터 감산되는 그것들의 완전한 근거들을 가지지 않아도 되는 단정들의 우세한 경로들 사이에 공유되는 하위-경로들에서 나타나는 우세한 단정들의 제거를 방지하는 단정들의 배열을 제공하는 것을 필요로 한다. 우세함 번호들의 초기 배열은 오름 차순보다는 내림 차순으로 액세스될 때 그것들이 원격 카운트들로서 수행하기에 충분하나, 우세함 번호들은 항들이 반대-단정될 때 재할당되며, 이는 원래의 배열을 흩뜨린다. 결과적으로, 우세함 번호들을 원격 카운트들로서 사용하는 것은 보통 우세함 번호들의 상당한 수정을 필요로 하며, 이는 필요한 계산 작업의 양을 최대 거리 카운트들이 원격 카운트들로서 사용될 때 필요한 계산 작업의 양과 유사하게 만든다.It is possible to use predominance numbers instead of maximum distance counts to arrange the subtraction of dominant assertions from the base, but this means that the predominance numbers consistently serve as remote counts, and thus their complete To provide an arrangement of assertions that prevents the elimination of dominant assertions appearing in sub-paths shared between other dominant assertions that must have grounds and the predominant paths of assertions that do not have their full grounds subtracted from the basis. in need. The initial arrangement of predominance numbers is sufficient for them to perform as remote counts when accessed in descending rather than ascending order, but predominance numbers are reassigned when the terms are anti-asserted, which messes up the original arrangement. Consequently, using dominant numbers as remote counts usually requires significant modification of dominant numbers, which makes the amount of computational work required similar to the amount of computational work required when maximum distance counts are used as remote counts.

가지-감산(Branch-Subtraction)Branch-Subtraction

완전한 근거의 압축되지도 않고 비압축되지도 않은 버전이, 식이 두 개의 값을 갖는 논리를 사용하든 또는 많은 값을 갖는 논리를 사용하든, 각각이 해당 값에 의해 한정되는 항들의 수의 카운트와 연관되는, 경로에서의 한정된 항들의 리스트 또는 경로에서의 한정 값들의 리스트 중 어느 하나와 동등하다는 것은 주목할 만하다. 그러한 카운트들 또는 암시된 카운트들은 라이좀 네트워크에서의 "가지-감산"을 지지하지 않는다. 이러한 명제의 진실은 그것들이 아래에 설명될 가지-감산의 방법에 의해 조작될 수 있음에 따라 카운트들의 상이한 종류들의 거동을 비교함으로써 명백해져야 한다An uncompressed and uncompressed version of the full rationale, whether an expression uses two-valued or many-valued logic, is associated with a count of the number of terms each defined by that value. It is noteworthy that is equivalent to either a list of qualified terms in a path or a list of qualifying values in a path. Such counts or implied counts do not support “branch-subtract” in the lysomal network. The truth of these propositions should be made clear by comparing the behavior of different kinds of counts as they can be manipulated by the method of branch-subtraction, which will be explained below.

가지-감산 시, 피감수 완전한 근거가 감수 단정의 값 술어를 포함하지 않을 때, 가지-감산 차이는 피감수와 동일하다. 그렇지 않으면, 가지-감산 차이는 이하 계산들의 결과이다:In branch-subtract, when the complete rationale does not include the value predicate of the subduction assertion, the branch-subtract difference is equal to the subtract. Otherwise, the branch-subtract difference is the result of the following calculations:

[B1] 미필 카운트들이 사용된 경우:[B1] When unfilled counts are used:

[B1a] 피감수에서의 각 값 술어에 대해, 대응 피감수 카운트들의 각각으로부터의 감산은 감수 단정의 완전한 근거에 존재하는 동일한 값 술어와 연관되는 기성 카운트 및 미필 카운트를 카운팅한다.[B1a] For each value predicate in the subordinate, the subtraction from each of the corresponding obliged counts counts the ready and unfilled counts associated with the same value predicate that exists on the full basis of the submissive assertion.

[B1b] 감수 단정의 값 술어가 피감수에 있는 경우 연관된 기성 카운트에서 하나를 감산하고 연관된 미필 카운트에 하나를 가산한다.[B1b] If the value predicate of the submissive assertion is in the subordinate, subtract one from the associated ready count and add one to the associated unfilled count.

[B2] 그렇지 않으면:[B2] Otherwise:

[B2a] 감수 단정의 값 술어와 연관되는 피감수에서의 기성 카운트를 식별하고 이것을 "스칼라" 값이라 칭한다.[B2a] Identify the ready-made counts in the subordinate associated with the value predicate of the submissive assertion and call this a "scalar" value.

[B2b] 피감수에서의 각 값 술어에 대해, 감수 단정의 완전한 근거에 있는 동일한 값 술어와 연관되는 기성 카운트 및 스칼라의 프로덕트를 연관된 피감수 기성 카운트에서 감산한다.[B2b] For each value predicate in the subordinate, the product of the scalar and the ready count associated with the same value predicate that is the full basis of the submissive assertion is subtracted from the associated ready count.

[B3] 상기의 감산들 이후, 모든 기존의 카운트에서 제로를 갖는 피감수에서 임의의 값 술어들을 제거하고, 가지-감산의 차이로서 결과를 제시한다.[B3] After the above subtractions, remove any value predicates in the subordinate with zero in all existing counts, and present the result as the branch-subtraction difference.

본 발명의 실시예들은 거동 #2를 나타내기 위해 경로의 부분이 목적지를 포함하는지를 구별하는 능력을 포함할 수 있다. 목적지들을 구별하고 그에 따라 경로의 부분에서의 별개의 목적지들을 카운팅하는 능력이 또한 매우 유용할 수 있다. 가지-감산은 이들 능력 양자를 제공할 수 있다.Embodiments of the present invention may include the ability to distinguish whether a portion of a route includes a destination to indicate behavior #2. The ability to distinguish between destinations and thus count distinct destinations in a portion of a route can also be very useful. Branch-subtraction can provide both of these capabilities.

미필 카운트들을 사용하지 않는 가지-감산은 가지-감산이 발생하는 각 완전한 근거에서의 모든 감산된 값 술어에 대한 곱셈을 필요로 한다. 곱셈은 곱해지는 비트들의 수의 제곱인 계산 비용을 갖고 이것은 미필 카운트들이 사용되지 않을 때 초래되는 다른 상당한 계산 비용을 나타낸다.Branch-subtraction, which does not use unfilled counts, requires multiplication for all subtracted-value predicates in each full rationale for which branch-subtraction occurs. Multiplication has a computational cost that is the square of the number of bits being multiplied, which represents another significant computational cost incurred when unfilled counts are not used.

반대-단정들의 존재 시 완전한 근거들Complete grounds in the existence of counter-assertions

단정들의 부정이 그것들의 단정들에 대한 근거들을 제거하기 때문에 반대-단정들의 존재는 일부 단정들에 대한 근거들의 누적을 복잡하게 하고, 카운터-단정은 이전에 부정된 단정에 대한 새로운 근거를 형성할 수 있다. 모순의 지점의 모션의 방향을 결정하는데 사용되는 우세한 단정들의 근거들은 결정이 정확하게 또는 일관되게 이루어지기 위해 일관되어야 한다. 따라서, 그러한 결정이 이루어질 수 있기 전, 그것들의 근거들을 일관되게 만들기 위해 부정된 단정들에 의존하는 단정들의 근거들은 재-계산될 수 있다. 접근 카운트들(거동 #4를 나타내는 것의 부분으로서 더 아래를 참조)이 사용되지 않을 때, 부정된 단정들에 의존하는 근거들은 이전에 부정된 단정들이 반대-단정될 때, 부정된 우세한 단정들에 대한 가지-감산을 수행함으로써 그리고 새로운 근거들의 가지-가산을 수행함으로써 재-계산될 수 있다. 이러한 목적을 위해 가지-가산을 수행할 때, 재-단정된 값 술어의 원격 카운트들은 가산된 가지에서의 원격 카운트에 가산될 수 있다. 더욱이, 최근에 무조건적으로 된 임의의 이전의 조건부 우세한 단정들은 가지-감산될 수 있고, 무조건적 단정 그 자체는 모든 완전한 근거에서 제거될 수 있다.Because the negation of assertions removes the grounds for their assertions, the existence of counter-assertions complicates the accumulation of grounds for some assertions, and counter-assertions may form new grounds for previously negated assertions. can The grounds of the prevailing assumptions used to determine the direction of motion of the point of contradiction must be consistent in order for the decision to be made accurately or consistently. Thus, before such a decision can be made, the grounds for assertions that rely on negated assertions can be re-calculated to make them consistent. When access counts (see further below as part of exhibiting behavior #4) are not used, the grounds that rely on negated assertions are based on negated dominant assertions, when previously negated assertions are counter-asserted. It can be re-computed by performing branch-subtraction on the new grounds and by performing branch-addition of new grounds. When performing branch-addition for this purpose, the remote counts of the re-asserted value predicate may be added to the remote count in the added branch. Moreover, any previous conditionally dominant assertions that have recently become unconditional can be branch-subtracted, and the unconditional assertion itself can be removed from all full grounds.

역-추적back-trace

거리 카운트들이 사용될 때, 근거를 수정하기 위해 가지-감산을 사용하는 것보다는 재-계산되는 이의 근거를 필요로 하는 단정의 경로에서 제약들을 통해 "역-추적"하는 것이 필요할 수 있다. 역-추적의 이러한 방식은 아래에 설명될 방식과 유사하나, 항들을 한정하고 이미 재-계산된 단정들의 근거들이 가지-가산되고 그것들의 카운트들이 증분되나, 이들 단정은 깊이-우선 메커니즘에 의해 탐색되지 않는다.When distance counts are used, it may be necessary to "back-track" through constraints in the path of an assertion that requires its basis to be re-computed rather than using branch-subtraction to correct the basis. This way of tracing back-tracking is similar to the way described below, but defining terms and the grounds of already re-computed assertions are branch-added and their counts incremented, but these assertions are searched by a depth-first mechanism. doesn't happen

역-추적 없이 거리 카운트들을 재-계산하는 것이 가능하나, 이는 각 기여 하위-경로에 대한 개별 거리 카운트들 아니면 각 거리 카운트 값의 인스턴스들의 카운트를 필요로 하며, 이는 비압축된 완전한 근거가 소모하는 것보다 상당히 많은 공간을 소모할 수 있다.It is possible to re-compute distance counts without back-tracking, but this requires either separate distance counts for each contributing sub-path or counts of instances of each distance count value, which the uncompressed complete rationale consumes. It can consume considerably more space than that.

반대-단정으로 이어지고 이를 생성하는 우세한 경로를 구성하는 제약들에서의 한정된 항들을 통해 깊이-우선 스택-기반 역-추적을 사용함으로써 완전한 근거들을 사용하지 않고 거동 #2를 나타내는 것이 가능하다. 깊이-우선 역-추적은 우세한 단정들의 속성들이 내림 원격 차순과 동등한 순서로 수정되는 것을 보장한다. 이러한 방법은 단지 무조건적 단정들에 의해 한정되는 모든 항을 무시하고, 이미 고려되었던 단정들에 의해 한정되는 모든 항을 무시하며, 목적지들인 그것들의 항들에 주목하여, 루프 단정들에 의해 부정되는 항들을 포함하고, 부정당한 의사-가정들을 배제하며(더 아래를 참조); 각 다른 항에 대해, 깊이-우선 순회를 보장하는 방식으로 주어진 항을 한정하는 우세한 단정들의 제약들에서의 조건부로 한정된 항들을 고려하기 위해 적층한다.It is possible to represent behavior #2 without using full rationales by using depth-first stack-based back-tracing through defined terms in the constraints that lead to and form the dominant path leading to the counter-assertions. Depth-first backtracking ensures that the attributes of the dominant assertions are modified in an order equivalent to descending remote ordering. This method simply ignores all terms defined by unconditional assertions, ignores all terms defined by predicates that have already been considered, noting those terms that are destinations, and avoids terms negated by loop assertions. includes and excludes unjustified pseudo-assumes (see further below); For each other term, we stack to consider the conditionally defined terms in the constraints of the prevailing predicates that define the given term in a way that guarantees a depth-first traversal.

역-추적은 영구적으로 저장된 근거들을 사용할 필요는 없다. 그러한 경우, 엄격하게 또는 다르게 근거들을 수정할 어떤 기회도 존재하지 않는다. 영구적으로 저장된 근거들이 사용되지 않는다면, 목적지들 및 가능한 그것들의 거리들의 일시적 리스트들은 적층되는 항들을 각 제약에 대해 유지되어야 하고, 목적지들의 이들 일시적 리스트는 단정들에 의해 한정되는 항들이 스택에서 갑자기 나옴에 따라 종속 단정들의 제약들에 대한 일시적 목적지 리스트들로 합산되어야 하며, 부정당한 의사-가정들이 식별되어 불일치하는 항들이 스택에서 갑나기 나올 때에 제거되어야 한다. 목적지들의 일시적 리스트들은 각 모순이 해결된 후 삭제되어야 한다. 목적지 리스트들이 삭제되지 않는다면, 유용하기 위해 그것들은 수정되어야 할 것이고, 그것이 그것들을 완전히 교체하지 않고 그것들을 수정하는 것이 가능하도록, 그것들은 비-목적지 항들 또는 단정들을 포함하여, 그것들을 일부 종류의 근거들이 되게 만들어야 한다. 역-추적의 목적을 위해 항들보다는 한정 단정들을 적층하는 것이 가능하다.Backtracking need not use permanently stored evidence. In such a case, there is no opportunity to revise the grounds strictly or otherwise. Unless permanently stored grounds are used, temporary lists of destinations and their possible distances must be maintained for each constraint stacking terms, and these temporary lists of destinations popping up from the stack with terms defined by assertions. should be summed into temporary destination lists for the constraints of dependent assertions according to Temporary lists of destinations should be deleted after each contradiction is resolved. If destination lists are not deleted, they will have to be modified to be useful, and so that it is possible to modify them without completely replacing them, they may contain non-destination terms or assertions, including non-destination terms or assertions, on some sort of basis. should be made to become It is possible to stack qualifying assertions rather than terms for the purpose of backtracking.

단정들이 반대-단정들에 의해 부정되었기 때문에, 완전한 근거들이 사용되지 않을 때 SOMME들에서의 항들에 대한 한정들을 기록하는 것이 필요하며, 이는 한정 결정 요인들 및 단정들이 더 이상 존재하지 않을 수 있기 때문이다. 손실된 한정이 항이 그러한 제약으로 나타내는 값 술어의 여집합인 것으로 추정될 수 있기 때문에, 한정들은 엄밀한 선언구들에서의 항들에 대해 기록될 필요는 없고, 선언구들에 대해 이러한 방식으로 한정들을 항상 기록하는 것이 확실히 보다 효율적일 수 있다.Because assertions have been negated by counter-assertions, it is necessary to record qualifications to terms in SOMMEs when complete grounds are not used, since qualifying determinants and assertions may no longer exist. to be. Since the lost constraint can be assumed to be the complement of the value predicate the term represents by that constraint, constraints need not be written for terms in strict predicates, and it is always better to write constraints in this way for predicates. It could definitely be more efficient.

우세한 경로들의 엄격한 유지(Rigorous Maintenance of Prevailing Paths)Rigorous Maintenance of Prevailing Paths

완전한 근거들이 사용되고 우세한 단정의 경로가 결정-형성을 위해 사용되어야 할 때, 후보 우세한 단정의 완전한 근거를 재-계산하는 것이 필요하다. 완전한 근거들을 "엄격하게" 유지하기 위해, 부정 및 반대-단정 시 부정된 우세한 단정에 의존하는 모든 우세한 단정의 완전한 근거들을 재-계산하는 것이 필요하다.When complete rationales are used and the path of the dominant assertion has to be used for decision-forming, it is necessary to re-compute the complete rationale of the candidate dominant assertion. In order to keep the complete grounds "strictly", it is necessary to re-compute the complete grounds of all dominant assertions that depend on the negated dominant assertion in negation and counter-assertions.

완전한 근거들이 결정-형성을 위해 사용될 때, 만약에 있다면, 우세한 경로에서의 의사-가정들의 존재가 인식되어야 한다. 미필 카운트들이 사용된다면, 설명된 바와 같은, 가지-감산이 의사-가정들의 임의의 기록을 부정확하게 제거할 수 있다; 따라서, 이러한 경우, 일부 다른 방식으로 의사-가정들을 마킹하는 대안적인 방법 또는 역-추적 중 어느 하나가 사용될 수 있다. 미필 카운트들이 사용되고 부정된 우세한 단정들의 완전한 근거들이 모든 완전한 근거에서 가지-감산되지 않는다면, 모순의 모션의 디더링을 사용하는 결정-형성 방법이 더 아래에서 설명될 바와 같이, 완전한 근거들 및 다른 경로 추적 요소들을 엄격한 현재 상태의 유용한 근사치인 상태로 수정하는데 사용될 수 있다.When full evidence is used for decision-making, the existence of pseudo-assumes in the prevailing pathway, if any, should be recognized. If unfilled counts are used, branch-subtraction, as described, may incorrectly remove any record of pseudo-assumes; Thus, in such a case, either an alternative method of marking pseudo-assumes in some other way or a back-trace may be used. If unfilled counts are used and the complete grounds of negated dominant assertions are not branch-subtracted from all full grounds, a decision-forming method using dithering of the motion of contradiction is described further below, following the complete grounds and other path. It can be used to modify elements to a state that is a useful approximation of the strict current state.

유사하게, 우세한 경로에서의 제약들에 의해 단정되는 값 술어들은 새로운 반대-단정의 값 술어에 대한 결정이 형성될 때 일관되어야 한다. 선언구들에 대해, 그러한 제약들이 특정한 변수에 대해 미리-정의된 값 술어를 단정하거나 해당 변수의 단정을 전혀 형성하지 않기 때문에 어떤 특별한 액션도 필연적이지 않다. 그러나, SOMME들의 경우, 한정 값 술어의 변경은 수정된 한정을 포함하는 우세한 경로를 갖는 단정되거나 반대-단정되는 값 술어의 변경을 야기할 수 있고, 이들 수정은 임의의 새로운 반대-단정의 우세한 경로를 통해 전파될 필요가 없다. 종래 수학적 분석이 본 발명을 보충하지 않는다면, SOMME들의 단정들이 엄격하게 유지되는 경우, 부정 시 거동 #3이 위반될 수 있다; 따라서 어떤 종래 수학적 분석도 존재하지 않을 때 SOMME들의 값 술어들의 수정은 바로 아래에서 설명될 바와 같이, 가장 잘 여유롭게 전파되나, 디더링에 의해서를 제외하고는 전파되지 않으며, 이는 거동 #4를 나타내는 것의 논의의 부분으로서 더 아래에서 설명된다.Similarly, value predicates that are predicated on the constraints in the dominant path must be consistent when a decision for a new counter-assertive value predicate is formed. For declarative clauses, no special action is necessary because such constraints neither assert a pre-defined value predicate for a particular variable nor form an assertion of that variable at all. However, in the case of SOMMEs, a change in the constraint value predicate may result in a change in the asserted or counter-assertive value predicate with the dominant path containing the modified constraint, and these modifications may result in any new opposing-assert dominant path There is no need to propagate through It does not compensate for the prior art to which the present invention mathematical analysis, when it is concluded by SOMME are strictly maintained, that is, when the negative behavior # 3 to be in violation; Thus, when no conventional mathematical analysis exists, the modification of the value predicates of SOMMEs propagates most leisurely, as will be explained immediately below, but not except by dithering, which is a discussion of what exhibits behavior #4. is described further below as part of

완전한 근거들의 여유로운 유지(Lazy Maintenance of Full Reasons)Lazy Maintenance of Full Reasons

완전한 근거들이 엄격하게 유지되지 않을 때, 완전한 근거들은 해당 술어의 우세한 단정이 존재하는 동안에도, 제로 기성 카운트를 갖는 값 술어들을 포함할 수 있다. 임의의 그러한 값 술어들이 완전한 근거 상 존재하는 경우, 후보 완전한 근거는 그것들이 그 후 비-제로 기성 카운트를 갖도록 손실된 근거들을 가지-가산함으로써 수정되어야 한다. 접근 카운트들(더 아래를 참조) 또는 원격 카운트들이 사용된다면, 그것들은 그것들이 사용될 때 정확해야 하고(예를 들어, 기초 및 공동-기초에서), 그것들의 카운트들은 우세한 단정들이 존재하나 반대-단정의 완전한 근거 상 기록되지 않을 때 재-계산되어야 한다.When complete rationales are not strictly maintained, complete rationales may contain value predicates with zero ready-made counts, even while there is a prevailing assertion of that predicate. If any such value predicates exist on a full basis, the candidate complete basis must then be modified by branch-adding the lost grounds so that they have a non-zero ready-made count. If access counts (see further below) or remote counts are used, they must be correct when they are used (eg, in base and co-base), and their counts are counter-assertive although there are dominant assertions. should be re-calculated when not recorded on the full basis of

카운트들의 재-계산은 영향을 받은 제약들을 통해 깊이-우선 역-추적하고, 그 다음 역전 역-추적 순서로 영향을 받은 제약들의 각각의 단정들에 대해 원격 카운트들 또는 근접 카운트들(거동 #4를 나타내는 것의 부분으로서 더 아래를 참조)을 재-계산함으로써 가장 효율적으로 실현된다. 역-추적이 단지 카운트들의 재-계산을 위해 사용될 때, 그것은 필요-시를 기초로 발생할 수 있다. 그러나, 완전한 근거들이 거동 #2를 제공하는데 사용되지 않는다면, 완전한 역-추적을 수행하고 원격 또는 접근 카운트들이 재-계산되는 것과 동시에 가정들 및 의사-가정들을 식별하는 것이 가장 효율적이다.The re-computation of the counts depth-first back-traces through the affected constraints, then in reverse back-trace order remote counts or proximity counts (behavior #4) for each of the assertions of the affected constraints. (see further below) as part of representing When backtracking is used only for re-computing counts, it may occur on an on-demand basis. However, unless complete rationales are used to provide behavior #2, it is most efficient to perform a full back-trace and identify hypotheses and pseudo-assumptions at the same time as remote or access counts are re-computed.

의사-가정들(Pseudo-Assumptions), 루프들(Loops), 및 Pseudo-Assumptions, Loops, and 티어드롭들teardrops (Teardrops)(Teardrops)

후보 우세한 단정의 완전한 근거가 후보 우세한 단정 그 자체에 의해 표현되는 동일한 변수에 대한 값 술어를 포함할 때, 다수의 가능한 경우가 존재한다: 단정은 이의 완전한 근거 상 값 술어와 불일치할 수 있다; 단정은 이의 완전한 근거 상 값 술어의 부분집합인 값 술어를 나타낼 수 있다( 반대-단정은 이의 완전한 근거 상 값 술어와 "일치"한다); 또는 일부 다른 관계가 적용된다. 이들 관계는 "루프" 및 "티어드롭" 경로들을 정의하고 정당한 목적지의 정의에 영향을 미친다.When the complete basis of a candidate-dominant assertion contains a value predicate for the same variable represented by the candidate-dominant assertion itself, a number of possible cases exist: an assertion may be inconsistent with a value predicate on its full basis; An assertion may refer to a value predicate that is a subset of its fully grounded value predicate ( ie, a counter-assert "matches" its fully grounded value predicate); or some other relationship applies. These relationships define "loop" and "tierdrop" routes and affect the definition of legitimate destinations.

의사-가정들(Pseudo-Assumptions)Pseudo-Assumptions

반대-단정이 발생할 때, 단정들이 부정되고, 결과적으로, 다른 우세한 단정들들의 경로들에서의 항들에 한정들을 제공하는 우세한 단정들은 손실되게 될 수 있다. 엄격하게 유지된 완전한 근거가 어떤 잔존하는 우세한 단정도 존재하지 않는 값 술어를 포함할 때, 우리는 해당 값 술어를 "의사-가정"이라 칭한다. 가정들 및 의사-가정들은 모순이 이동되어야 하는 곳으로의 목적지들이다. 목적지들은 모순이 해당 제약으로 이동되고 목적지 항이 반대-단정되는 경우, 모순이 기록된 우세한 경로의 제약들에서 축출되도록 단정의 우세한 경로의 제약들에서의 항들이 된다.When a counter- assertion occurs, the assertions are negated, and as a result, the prevailing assertions that provide limits to terms in the paths of other dominant assertions may be lost. When a strictly maintained complete rationale includes a value predicate for which no remaining dominant assertion exists, we call that value predicate "pseudo-assumed". Assumptions and pseudo-assumptions are destinations to which contradiction must be shifted. Destinations become terms in the constraint of the dominant path of the assertion such that if the contradiction is moved to that constraint and the destination term is counter-asserted, the contradiction is evicted from the constraints of the dominant path recorded.

목적지 없는 규칙(No Destinations Rule)No Destinations Rule

본 발명의 실시예들이 거동 #2를 정확하게 나타내기 위해서는, 완전한 근거를 갖고 이의 완전한 근거 상 어떤 목적지도 갖지 않는 임의의 단정이 무조건적으로 단정되어야 하는 것이 바람직하다. 이것이 "목적지 없는" 규칙이다. 단정의 완전한 근거가 단정 그 자체와 동일한 변수에 대한 값 술어를 포함할 때, 이하와 같이, 무조건적 단정들을 정확하게 생성하기 위해 목적지 없는 규칙을 구현하기 위해 차별점들이 본 발명에 의해 제공된다.In order for embodiments of the present invention to accurately represent behavior #2, it is desirable that any assertion that has a full basis and has no destination on its full basis should be unconditionally asserted. This is the "destinationless" rule. Differentiators are provided by the present invention to implement a destinationless rule to precisely produce unconditional assertions, as follows, when the complete basis of an assertion includes a value predicate for the same variable as the assertion itself.

루프들(Loops)Loops

단정이 이의 완전한 근거 상 값 술어와 일치한다면, 우리는 "루프"가 이러한 단정의 우세한 경로에 존재한다고 말한다. 루프의 구조는 루프된 우세한 경로에서의 단정이 부정되는 경우, 생성되는 모순이 해결될 루프에서의 모순을 야기하는, 부정 반대-단정과 일치하는 값 술어를 단정하기 위해 루프를 돌 수 있는 것이며, 일부 다른 경로에서의 새로운 모순을 반드시 형성할 필요 없이 루프의 우세한 경로에서 모순을 효과적으로 축출한다. 결과적으로, 루프의 시작은 목적지이다. 루프를 완료하는 단정이 우세하다면, 그것은 루프를 완료하는 단정에 완전한 근거를 제공할 수 있고, 완전한 근거가 어떤 목적지도 포함하지 않을 수 있는, 루프를 시작하는 한정을 지지하는 것으로 고려될 수 있으며, 그것이 무조건적 단정으로 해석되는 것을 암시한다. 해당 해석은 부정확할 수 있다; 따라서 일부 추가 규칙 또는 표시가 루프 단정들이 무조건적 단정들로서 해석되지 않는다는 것을 보장하기 위해 필요하다.If an assertion matches a value predicate on its full grounds, then we say that a "loop" exists in the predominant path of this assertion. The structure of the loop is such that if the assertion in the looped dominant path is negated, the resulting contradiction will cause a contradiction in the loop to be resolved, such that it can be looped around to assert a value predicate consistent with the negation anti-assertion, Effectively evicts contradictions from the dominant path of the loop without necessarily forming new contradictions in some other path. Consequently, the beginning of the loop is the destination. If the assertion that completes the loop prevails, it may provide a complete rationale for the assertion that completes the loop, and may be considered as supporting the constraint that begins the loop, where the complete basis may contain no destination; It implies that it is interpreted as an unconditional assertion. Such interpretation may be inaccurate; Therefore some additional rule or indication is needed to ensure that loop assertions are not to be interpreted as unconditional assertions.

본 발명의 특정한 실시예들에서, 동일한 변수에 대한 우세한 단정들이 잔존하든 비-잔존하든지에 관계없이, 루프를 완료하는 단정은 비-우세한 것으로 만들어지나, 기존 결정 요인이 루프 단정에 의해 표현되는 원자 값들의 부분집합을 나타내지 않는 경우, 그것이 나타내는 변수에 대한 결정 요인에 이의 값 술어를 기여한다. 이의 결과로서, 루프는 그 자체의 단정들에 목적지-없는 근거들을 제공할 수 없고 따라서 루프에 의존하는 우세한 경로는 해당 경로에서의 목적지를 항상 명백하게 나타낸다. (이러한 규칙은 루프 단정이 근거를 갖는 것을 방지하고, 따라서 순환논증의 오류를 명백하게 회피하는 방법으로서 보여질 수 있으며 그에 따라 루프 단정의 여집합과의 유효한 불일치의 임의의 발현을 회피한다.) 본 발명의 다른 실시예들에서, 루프 단정들은 다른 방식들로 명백하게 마킹되고 마킹에 대한 그것들의 다른 방법들에 의해 목적지들로 취급될 수 있다.In certain embodiments of the invention, the assertion completing the loop is made non-dominant, regardless of whether dominant assertions for the same variable remain or non-survival, but the atom for which the existing determinant is represented by the loop assertion If it does not represent a subset of values, it contributes its value predicate to the determinant for the variable it represents. As a result of this, a loop cannot provide destination-free grounds for its assertions and thus the prevailing path that depends on the loop always unambiguously represents the destination in that path. (These rules prevent loop assertions from having a rationale, and thus can be seen as a way to explicitly avoid the fallacy of recursive arguments, thereby avoiding any manifestations of valid inconsistencies with the complement of loop assertions.) In other embodiments of , loop assertions may be explicitly marked in other ways and treated as destinations by their other methods of marking.

티어드롭들teardrops (teardrops)(teardrops)

단정 그 자체와 동일한 변수를 나타내는 반대-단정의 완전한 근거 상 모든 값 술어가 단정에 의해 표현되는 값 술어와 또한 불일치한다면, 우리는 "티어드롭"이 존재하고 반대-단정의 우세한 경로에서 식별된다고 말한다. 티어드롭의 "촉진 요인(precipitant)"은 임의의 그러한 원자 값이 단정되고 티어드롭이 존재하는 우세한 경로들에 있는 제약들의 집합이 아직 모순을 포함하지 않는 경우, 단정이 단정들이 전파되는 순서에 관계없이, 이들 티어드롭 제약 중 하나에서의 모순을 필수적으로 생성할 수 있도록, 원자 값들의 집합을 나타내는 것으로 알려진 값 술어이다. 촉진 요인의 정확성은 반대-단정의 우세한 경로에서 이용 가능한 정보에 의존한다.If, on the full basis of the opposite-assert, which represents the same variable as the assertion itself, all value predicates are also inconsistent with the value predicates expressed by the assertion, then we say that a "teardrop" exists and is identified in the predominant path of the opposite-assert. . A teardrop's "precipitant" is concerned with the order in which the assertions are propagated, provided that any such atomic value is asserted and the set of constraints in the predominant paths over which the teardrop exists does not yet contain a contradiction. Without it, it is a value predicate known to represent a set of atomic values, so as to necessarily create a contradiction in one of these tierdrop constraints. The accuracy of the facilitating factors depends on the information available in the predominant path of the counter-assertions.

촉진 요인들(Precipitants)Precipitants

해당 티어드롭의 촉진 요인과 동일한 변수의 항들을 또한 갖는, 티어드롭이 존재하는 모든 제약이 선언구들일 때, 촉진 요인은 이들 항의 각각과 불일치해야 하고 따라서 이들 항에 의해 표현되는 값 술어들의 합집합의 여집합이다. 우리가 티어드롭을 식별하게 하는 반대-단정은 이의 티어드롭의 촉진 요인의 여집합에 있는 원자 값들의 부분집합을 나타내야 한다.When all constraints in which a tierdrop exists, which also have terms of the same variable as the facilitator of that tierdrop, are predicates, then the facilitator must be inconsistent with each of these terms and therefore of the union of the value predicates represented by these terms. is a female set The opposite-assert that we identify a teardrop must represent a subset of the atomic values in the complement of its catalyzing factor of the teardrop.

티어드롭이 존재하고 해당 티어드롭의 촉진 요인과 동일한 변수의 항들을 또한 갖는 제약들의 집합이 SOMME들을 포함할 때, 촉진 요인은 이들 항에 대한 한정들과 교차되는 반대-단정된 값 술어의 여집합이어야 한다.When a tierdrop exists and the set of constraints that also have terms of the same variable as the facilitator of that tierdrop contains SOMMEs, the facilitator must be the complement of the opposite-asserted value predicate intersected with the constraints on these terms do.

추정상의 촉진 요인이 위에서와 같이 계산되고 추정상의 촉진 요인의 여집합이 원자 값들의 공집합이라면, 추정상의 티어드롭은 실제로는 티어드롭이 아니고 소위 촉진 요인의 변수에 대한 일부 정당한 목적지들이 존재해야 한다.If the putative facilitator is calculated as above and the complement of the putative facilitator is the empty set of atomic values, then the putative tierdrop is not actually a tierdrop, and there must be some legitimate destinations for the so-called facilitator variable.

반대-단정된 값 술어들(Counter-Asserted Value Predicates)Counter-Asserted Value Predicates

완전한 근거들이 사용되는 경우, 반대-단정에 의해 부정되는 우세한 단정들에 대한 가지들은 반대-단정의 완전한 근거에서 감산된다. 이들 가지 감산 이후, 촉진 요인의 변수가 아닌 변수들에 대한 반대-단정의 우세한 경로에 어떤 목적지도 존재하지 않는다면, 촉진 요인의 여집합은 무조건적으로 단정되어야 한다. 이러한 무조건 단정의 값 술어가 함의의 규칙들에 의해 생성되는 바와 같은 반대-단정의 값 술어와 동일한 집합이라면, 무조건 단정은 반대-단정되는 유일한 값 술어이고; 그렇지 않으면, 무조건 및 조건부 단정들 양자가 반대-단정에 의해 생성된다. 어떤 티어드롭도 식별되지 않고 반대-단정이 자명하게 무조건적이 아니라면, 반대-단정은 단지 조건부 단정을 생성한다.When full grounds are used, branches for the dominant assertions that are negated by the counter-assert are subtracted from the full grounds of the anti-assert. After subtraction of these branches, if there is no destination in the dominant path of the opposite-assert for variables that are not variables of the facilitator, the complement set of the facilitator must be unconditionally asserted. An unconditional assertion is the only value predicate that is opposing-assertive if this unconditional assertion value predicate is the same set as the opposite-assert value predicate as produced by the rules of implication; Otherwise, both unconditional and conditional assertions are produced by counter-assertions. If no tierdrop is identified and the opposite-assert is obviously unconditional, then the opposite-assert only creates a conditional assertion.

티어드롭들에서의at the teardrops 명백한 의사-가정들(Apparent Pseudo-Assumptions in Teardrops) Apparent Pseudo-Assumptions in Teardrops

촉진 요인이 그것을 정의하는 반대-단정에 의해 부정될 때, 촉진 요인인 한정을 지지하는 단정들은 반대-단정에 의해 부정될 것이고 그것들의 가지들에 대한 근거들은 반대-단정의 완전한 근거에서 감산될 것이며, 그에 따라 이들 단정에 의해 한정되는 항들을 의사-가정들로 그리고 목적지들로 보이게 만든다. 촉진 요인을 부정하는 반대-단정의 완전한 근거가 어떤 다른 목적지도 포함하지 않는다면, 촉진 요인을 무조건적으로 단정하는 것이 티어드롭에서의 무조건적 모순을 형성할 수 있기 때문에 반대-단정은 무조건적이어야 한다. 결과적으로, 반대-단정 그 자체와 동일한 변수를 나타내고 반대-단정과 불일치하는 반대-단정의 완전한 근거에 기록되는 한정들은 의사-가정들임에도 불구하고 목적지들로서 취급되지 않아야 하고 "부정당한" 목적지들이다.When a facilitating factor is negated by the dis-assurance that defines it, the assertions supporting the qualifier that are the facilitating factor will be negated by the dis-assurance and the grounds for their branches will be subtracted from the complete grounds of the dis-assurance. , thus making the terms defined by these assertions appear pseudo-assumptions and destinations. If the complete basis of the counter-assert negation of the facilitator does not include any other destination, the counter-assert must be unconditional, since unconditional assertion of the facilitator may form an unconditional contradiction in the teardrop. As a result, qualifications that represent the same variables as the counter-assert itself and are recorded on the full basis of the counter-assert inconsistent with the counter-assert are not to be treated as destinations, despite being pseudo-assumes, and are "unfair" destinations.

반대-단정이 반대-단정이 식별하는 티어드롭의 촉진 요인을 부정하고, 반대-단정의 완전한 근거 상 어떤 정당한 목적지도 존재하지 않는다면, 반대-단정은 무조건적이고; 무조건적 단정들은 근거들을 갖지 않는다. 반대-단정이 이의 촉진 요인을 부정하고, 반대-단정의 완전한 근거 상 정당한 목적지들이 존재한다면, 반대-단정은 조건부이고; 동일한 변수의 항들에 대한 한정들이 완전한 근거 상 의사-가정들로서 보일 것이라도, 다른 목적지들이 우세한 경로에 또한 존재할 것이다. 모순이 부정당한 목적지들을 포함하여, 이들 목적지 중 임의의 목적지로 이동하는 경우, 촉진 요인에 있는 일부 원자 값들을 포함하는 값 술어는 단정되어야 하고, 이러한 단정은 실질적으로 해당 촉진 요인의 부분적 재-단정이 된다. 해당 촉진 요인을 부분적으로 재-단정하는 이러한 값 술어를 원용함으로써 생성되는 결정 요인이 촉진 요인-부정 반대-단정의 완전한 근거 상 한정 값 술어들에 의해 표현된 우리의 술어-부정 반대-단정과 동일한 변수의 항들에 대한 한정들 중 임의의 한정을 또한 완전히 지지한다면, 그것들의 한정들을 지지하는 단정들은 이들 한정들에 의해 초래되고 생성되는 단정들의 완전한 근거들에 대해 이들의 근거들을 제공할 것이고, 이들 한정은 더 이상 의사-가정들인 것으로 보이지 않을 것이다. 해당 촉진 요인을 부분적으로 재-단정하는 이러한 값 술어를 원용함으로써 생성되는 결정 요인이 촉진 요인-부정 반대-단정의 완전한 근거 상 한정 값 술어들에 의해 표현되는 우리의 술어-부정 반대-단정과 동일한 변수의 항들에 대한 한정을 완전히 지지하지 않는다면, 그것들의 항들에 대한 한정들을 지지하기 위한 잔존하는 우세한 단정들의 부족은 그것들의 한정들을 촉진 요인의 부분적 재-단정을 생성하는 반대-단정에 의해 생성되는 모순에 대한 정당한 목적지들이 되게 할 것이다. 따라서 부정당한 목적지들인 것으로 일부 의사-가정들을 제거하는 특별 규칙은 최접근 목적지 방법(Nearest Destination method)이 사용되지 않는 한, 비-자명하게 무조건적인 반대-단정을 생성할 때, 그리고 이를 정확하게 생성하기 위할 때 단지 요구된다. (최근접 목적지 방법들은 거동 #4를 나타내는 것의 부분으로서 더 아래에서 설명되고, 최근접 목적지 방법이 사용될 때 티어드롭 의사-가정들에 대한 문제는 더 아래의 디더링의 논의에서 나타난다).Opposite - neat opposite - a negative factor in promoting Teardrop to conclude the identification and opposite-side does not even exist a complete legal basis on which the destination of the assertions, counter-assertions unconditional; Unconditional assertions have no basis. A counter-assurance is conditional if its facilitating factor is negated, and there are legitimate destinations on the full grounds of the counter-assurance; Although limitations on terms of the same variable would appear on full basis as pseudo-assumptions, other destinations would also exist on the prevailing route. If the contradiction travels to any of these destinations, including those that are negated, a value predicate containing some atomic values in the facilitator must be asserted, and this assertion is effectively a partial re-assurance of that facilitator. becomes this The determinant produced by invoking this value predicate that partially re-asserts that facilitator is the same as our predicate-negative-assert that the determinant is expressed by the fully rationally bound-value predicates of the facilitator-negative-anti-assert If any of the qualifications on the terms of the variable are also fully supported, the assertions supporting those qualifications will provide their basis for the full basis of the assertions made and generated by these limitations, and these The limitation will no longer appear to be pseudo-homes. The determinant produced by invoking this value predicate, which partially re-asserts that facilitator, is the same as our predicate-negative-assert that the determinant is expressed by the finite-value predicates on the full basis of the facilitator-negative-anti-assert If we do not fully support qualifications to terms of the variable, the lack of remaining dominant assertions to support qualifications to terms of those terms causes their limitations to occur by counter-assertions that produce partial re-assurances of factors. It will make them legitimate destinations for contradictions. Thus, the special rule that removes some pseudo-assumes of being illegitimate destinations is when and correctly generating non-obvious unconditional counter-assertions, unless the Nearest Destination method is used. It is only required when (Nearest-destination methods are described further below as part of showing behavior #4, and the problem with teardrop pseudo-assumes when the nearest-destination method is used appears in the discussion of dithering further below).

제2 우세한 단정의 우세한 경로에 있는 제1 단정이 제1 단정이 생성되었을 수도 있는 임의의 부정당한 목적지보다 제2 우세한 단정에 항상 더 근접하다는 것을 주목할 만한다.It is noteworthy that the first assertion in the predominant path of the second dominant assertion is always closer to the second dominant assertion than any invalid destination from which the first assertion may have been generated.

모순들의 of contradictions 모션의in motion 특성 characteristic

모순은 공통 네트워크 세그먼트들을 가질 수 있는 다수의 라이좀 네트워크 간 단정들의 불일치로서 특징지어질 수 있다. 불일치하는 단정들 중 하나를 반대-단정함으로써, 이의 네트워크는 성장한다; 그리고 불일치하는 단정들이 부정될 때, 그것들의 네트워크는 줄어든다. 반대-단정이 부정된 우세한 단정들의 완전한 근거들의 가지-감산을 원용하든 새로운 네트워크들을 통해 역-추적하든, 원용된 연산은 엄격하게 반대-단정의 앞에 있는 목적지들이 반대-단정의 네트워크에 있는 것으로 표현되지 않고 따라서 거동 #2 및 거동 #4를 나타내는 본 발명의 실시예들의 방법들에 잘못된 정보를 주지 않는다는 것을 보장한다.A contradiction may be characterized as a mismatch of assertions between multiple lysomal networks that may have common network segments. By counter-asserting one of the inconsistent assertions, its network grows; And when inconsistent assertions are denied, their network shrinks. Whether the opposing-assertion invokes branch-subtraction of the complete grounds of the negated dominant assertions or back-traces through new networks, the invoked operation is strictly expressed as the destinations preceding the opposing-assertions are in the opposing-assert network. and thus do not misinform the methods of the embodiments of the present invention showing behavior #2 and behavior #4.

거동 #2의 방법들의 효율Efficiency of methods of behavior #2

거동 #2를 나타내는 방법들의 효율은 아직 완전히 논의되지 않았던 두 개의 팩터에 의해 영향을 받을 수 있다: 모순들을 해결하는 프로세스의 병렬화 및 단정들의 우세함.The effectiveness of the methods exhibiting behavior #2 can be influenced by two factors that have not yet been fully discussed: the parallelization of the process of resolving contradictions and the predominance of assertions.

티어드롭들의 성질은 모순들을 해결하려고 동시에 시도하는 다수의 프로세스의 형태인 모순들을 해결하는 프로세스의 수평 병행화가 심한 정도로 중간인 정도로 거동 #2를 방해할 수 있는 것이다. 제2 모순과 병행하여 이동하는 제1 모순은 그 외 항에 대한 한정의 우세한 경로가 제2 모순에서 기인하는 반대-단정이 무조건적일 수 있게 할 수 있을 때, 제2 모순에서 기인하는 결과적인의 완전한 근거 상 항이 의사-가정이 되게 하는 제1 모순에서 기인하는 반대-단정을 생성할 수 있다. 다양한 노력들이 이러한 간섭에 대응하게 이루어질 수 있다.The nature of the teardrops is that horizontal parallelism of processes resolving contradictions, in the form of multiple processes simultaneously attempting to resolve contradictions, can interfere with behavior #2 to a severe to moderate degree. The first contradiction, moving in parallel with the second contradiction, is the resultant meaning resulting from the second contradiction, when the prevailing path of the qualification to the other term can enable the counter-assertions resulting from the second contradiction to be unconditional. It is possible to generate counter-assertions resulting from the first contradiction, which makes the terms on full grounds pseudo-assumptions. Various efforts can be made in response to such interference.

병행 모순 해결 프로세스들 간 간섭에 대응하는 하나의 방법은 각 프로세스가, 하나의 반대-단정이 다른 반대-단정의 이력을 지울 때 지속될 수 있으나, 새로운 완전한 근거가 이들 프로세스 중 임의의 프로세스에 의해 발생될 때는 언제든지 기존 완전한 근거들을 지우고 대체 완전한 근거를 병행 모순 해결의 개별 저장소들로 교차-파퓰레이팅하는 완전한 근거들의 개별 집합을 기록하게 하는 것이다. 자명하게, 이러한 방법은 저장된 데이터의 양의 상당한 증가를 필요로 한다.One way of counteracting interference between parallel contradiction resolution processes is that each process can persist when one anti-assert clears the history of the other, but a new full rationale arises from any of these processes. Whenever possible, it records a separate set of complete evidence that erases the existing complete evidence and cross-populates the replacement complete evidence into separate repositories of parallel contradiction resolution. Obviously, this method requires a significant increase in the amount of data stored.

병행 모순 해결 프로세스들 간 간섭에 대응하는 다른 방법은 그것이 보다 높은 순번의 제2 모순에 의해 사용되는 경로들의 이력을 지울 수 있는 경우 제1 모순에서 기인하는 어떤 반대-단정도 허용되지 않도록 모순들의 순번을 매겨, 그에 따라 제1 모순의 모션을 효과적으로 유예하는 것이다. 이러한 방법은 유예된 모순들이 그것들의 순번들을 보다 낮게 하도록 모순들의 순번들을 변경함으로써 개선될 수 있고; 그렇지 않으면 유예들의 케스케이드가 발생하며, 알고리즘을 비-병행화된 상태로 되돌릴 수 있다. 하이퍼-다항식 디더링을 방지하도록 보장된 재-순번 평가를 형성하기 위해 상당한 주의가 필요할 수 있다. (디더링의 논의에 대해 더 아래를 참조.)Another way to counter the interference between parallel contradiction resolution processes is to turn the contradictions in order so that no counter-assertions resulting from the first contradiction are allowed if it can clear the history of the paths used by the second contradiction of higher order number. to effectively defer the motion of the first contradiction accordingly. This method can be improved by changing the order numbers of contradictions so that deferred contradictions make their order numbers lower; Otherwise a cascade of deferrals occurs, which can revert the algorithm to a non-parallelized state. Considerable care may be required to form a guaranteed re-order evaluation to avoid hyper-polynomial dithering. (See further below for a discussion of dithering.)

단정들의 우세함은 거동 #2를 나타내는 방법들의 효율에 긍정적으로 영향을 미친다. 동일한 값 술어를 나타내는 결정 요인을 생성하기 위해 또한 연언적으로 수렴하는 추가 경로들과 별개인 우세한 경로들을 가짐으로써, 본 발명은 그것들의 경로들 중 임의의 경로가 티어드롭을 규정했는지 그리고 무조건적 반대-단정을 허용했는지 발견하기 위해 체크될 필요가 있을 수 있는 가능한 경로들의 하이퍼-다항식의 폭발적 증가를 회피한다. 대신 경로들은 그것들의 경로들에 의존하는 잔존하는 모순들이 미해결된 채로 유지되는 한 점증적으로 검색되며, 이 경우 미해결된 모순들은 이전에 의사-가정들이었던 항들을 재-한정하는 새로운 경로들을 새로운 우세한 단정들에 제공한다. 이것은 거동 #4가 보여지는 경우 다항 시간 내에 종료될 경로 검색의 형태이다.The predominance of assertions positively affects the efficiency of the methods exhibiting behavior #2. By having dominant paths distinct from additional paths that also converge syntactically to produce a determinant representing the same value predicate, the present invention determines whether any of those paths define a teardrop and the unconditional opposite- Avoids the explosion of hyper-polynomials of possible paths that may need to be checked to discover if they allow assertions. Instead, paths are incrementally searched for as long as the remaining contradictions that depend on them remain unresolved, in which case unresolved contradictions give rise to new preponderance of new paths that re-qualify terms that were previously pseudo-assumptions. provided for assertions. This is a form of path search that will end in polynomial time if behavior #4 is seen.

거동 #3을 나타내는 것Indicating behavior #3

SOMME들을 포함하지 않는 우세한 경로들을 갖는 반대-단정들에 대해, 알고리즘이 거동 #3을 나타내게 하는 것은 알고리즘이 이미 거동 #2를 나타내게 된 경우 자명하다: 반대-단정 직후, 새로운 모순들을 포함하는 유일한 제약들은 반대-단정에 의해 부정된 단정들을 갖는 것들이고, 부정된 단정들의 우세한 경로들은 반대-단정의 우세한 경로에서 감산되거나 반대-단정의 우세한 경로의 역-추적 동안 무시된다; 따라서 그것들의 모순들은 반대-단정의 우세한 경로에서 나타나지 않는다.For counter-assertions with dominant paths that do not contain SOMMEs, it is self-evident to cause the algorithm to exhibit behavior #3 if the algorithm has already come to exhibit behavior #2: immediately after the counter-assert, the only constraint containing the new contradictions are those with assertions negated by the opposite-assert, and the dominant paths of the negated assertions are subtracted from the dominant path of the opposite-assert or ignored during back-tracking of the dominant path of the counter-assert; Thus, their contradictions do not appear in the prevailing path of counter-assertions.

SOMME들을 포함하는 우세한 경로들을 갖는 반대-단정들에 대해, 거동 #3을 나타내는 것은 보다 복잡하다. 일반적으로, SOMME들이 식에 존재하고, 값 술어가 추정하여 반대-단정되어야 하는 항의 변수가 추정상의 반대-단정의 우세한 경로에서의 하나 이상의 항의 변수와 동일할 때, 특별한 방법들이 거동 #3을 효과적으로 나타내기 위해 채용되어야 한다.For counter-assertions with predominant paths involving SOMMEs, exhibiting behavior #3 is more complex. In general, when SOMMEs exist in an equation, and the variable of the term whose value predicate is to be presumed to be counter-predicated is the same as the variable of one or more terms in the predominant path of the putative counter-assert, special methods can effectively reduce behavior #3. should be employed to indicate

변수들의 값들이 정수들 또는 고정된 최대 분자 및 최대 분모를 갖는 다른 유리수들을 나타낼 때, 유리수들에 대해 닫힌 SOMME들은 수들을 디지털 방식으로 나타내고 유리수들에 대해 SOMME들의 거동을 재현하는 다수의 중간 변수 및 선언구로 대체될 수 있다. 그러한 경우에서 중간 변수들 또는 제약들의 카운트의 크기의 순서는 재현된 특정한 기능에 의존한다. 가산기들은 요소들의 직선적 카운트를 갖고; 곱셈은 곱셈에서의 비트들의 수에 관한 요소들의 제곱 카운트를 갖는; 등이다.When the values of the variables represent integers or other rational numbers with fixed maximum numerator and greatest denominator, SOMMEs closed for rational numbers digitally represent numbers and reproduce the behavior of SOMMEs for rational numbers, multiple intermediate variables and It can be replaced with a declaration. The order of magnitude of the count of intermediate variables or constraints in such a case depends on the particular function reproduced. Adders have a linear count of elements; Multiplication has a squared count of elements relative to the number of bits in the multiplication; etc.

유사하게, 변수들의 값들이 정수들 또는 고정된 최대 분자 및 최대 분모를 갖는 다른 유리수들을 나타내고, 유리수들을 위해 닫히는 SOMME들이 추정 결과들을 생성하게 허용된다는 것이 수용 가능할 때, 이들 SOMME의 각각은 중간 변수들 및 선언구들의 무리로 대체될 수 있다. Similarly, when it is acceptable that the values of the variables represent integers or other rational numbers with fixed largest numerator and largest denominator, and it is acceptable for SOMMEs closed for rational numbers, each of these SOMMEs is an intermediate variable. and a bunch of declarations.

SOMME를 중간 변수들 및 선언구들로 대체하는 것은 SOMME의 거동이 본 발명의 프로덕트로서 직접 생성될 수 있게 하고, 거동 #3은 두 개의 값을 갖는 논리로서 제공될 것이다. SOMME들이 대체되지 않을 때, 단일-값 결정 요인의 도입이 하나를 다른 하나에 의존하지 않고 그리고 임의의 다른 중간 단정들 없이 대체되지 않은 SOMME들의 집합으로부터 두 개 이상의 다른 단정을 강제해야 한다는 것이 가능해진다. 본 발명의 거동이 그러한 구조를 분석하는데 사용되는 경우, 변수 값들의 하이퍼-다항식 수의 수정이 발생할 수 있다; 따라서 그러한 구조에 대해 수용 가능한 결과를 효과적으로 생성하기 위해 종래 수학적 분석으로 본 발명을 보충하는 것이 필요하다. 그러한 보충은 다수의 값 술어가 동시에 수정되고 그에 따라 단정된다는 것을 필요로 할 수 있고, SOMME들 간 관계의 성질은 가정들이 우세한 경로에 존재하더라도 일부 값 술어들이 무조건적으로 단정된다는 것을 필요로 할 수 있다; 그러나 우세한 경로가 여전히 기록되거나 여전히 재구성 가능한 한, 본 발명은 종래 수학적 분석을 블랙 박스 기능으로 성공적으로 사용할 수 있다.Replacing SOMME with intermediate variables and declarative phrases allows the behavior of SOMME to be created directly as a product of the present invention, and behavior #3 will be presented as a two-valued logic. When SOMMEs are not replaced, it becomes possible that the introduction of a single-valued determinant has to force two or more different assertions from the set of unsubstituted SOMMEs without depending one on the other and without any other intermediate assertions. . When the behavior of the present invention is used to analyze such a structure, a modification of the hyper-polynomial number of variable values can occur; It is therefore necessary to supplement the present invention with conventional mathematical analysis to effectively produce acceptable results for such structures. Such supplementation may require that multiple value predicates are simultaneously modified and asserted accordingly, and the nature of the relationship between SOMMEs may require that some value predicates are asserted unconditionally, even if assumptions are in the prevailing path. ; However, as long as the predominant path is still recorded or still reconstructable, the present invention can successfully use conventional mathematical analysis as a black box function.

거동 #4를 나타내는 것Indicating behavior #4

거동 #4는 모순이 이동할 특정한 우세한 경로가 선택될 수 있고 선택이 그것이 선택되는 수단의 성질에 의해, 하이퍼-다항식 수의 수정의 대상이 아닌 일부 수단을 가짐으로써 보여질 수 있다.Behavior #4 can be shown as having some means that a particular predominant path through which the contradiction will travel can be chosen and that selection is not subject to modification of the hyper-polynomial number, by the nature of the means by which it is chosen.

모순된 제약에서의 단지 하나의 항이 조건부 단정에 의해 한정될 때, 모순된 제약은 해당 하나의 항의 변수의 값 술어를 무조건적으로 반대-단정하게 이루어져야 한다. 모순된 제약에서의 두 개 이상의 항이 조건부 단정들에 의해 한정될 때, 모순된 제약은 이들 항 중 하나의 변수의 값 술어를 반대-단정하게 이루어져야 하고, 이러한 반대-단정은 위에서 설명된 바와 같이, 이러한 반대-단정로 이어지는 우세한 경로에서의 어떤 정당한 목적지도 존재하지 않는다는 것이 명백하지 않는 한 조건부이다.When only one term in a contradictory constraint is defined by a conditional assertion, the contradictory constraint must be made unconditionally opposite-assert to the value predicate of the variable of that one term. When two or more terms in an inconsistent constraint are bounded by conditional assertions, the contradictory constraint must be made counter-assertive to the value predicate of one of these terms, and this opposing-assertion is, as explained above, It is conditional unless it is clear that there is no legitimate destination in the prevailing path leading to this counter-argument.

단지 하나의 프로세서가 식에 대해 작동하는 본 발명의 실시예에서, 값 술어가 반대-단정되어야 하는 항을 선택할 때 정당한 목적지들인 의사-가정들 및 형식적 가정들을 구별하기 위한 어떤 근거도 존재하지 않는다. 그러나, 다수의 프로세서가 존재할 때, 다시 말해서, 프로세싱이 병행화되었을 때, 모순을 형식적 가정들의 방향으로 이동시키고 그것들의 완전한 근거들 상 단지 의사-가정들을 갖는 모순들에 대한 프로세싱을 유예하는 것이 바람직하고 그것들의 의사-가정들은 무조건 반대-단정들에 의해 또는 논란의 여지가 없는 변수들로 형성되지 않는다. 그렇지 않으면, 하나의 모순이, 의사-가정을 형성하였던 다른 모순의 병행 모션이 성공적으로 축출되지 않고 그 다음 의사-가정을 형성하기 위해 부정되었던 값 술어를 재-단정할 때(이 경우, 주어진 모순의 모션은 잘못된 계산 작업이었다) 역전되는 모션의 방향을 갖기 위해 의사-가정으로 이동하는 것이 가능하다.In an embodiment of the invention in which only one processor operates on an expression, there is no basis for distinguishing between pseudo-assumes and formal assumptions, which are legitimate destinations when choosing a term for which the value predicate should be counter-asserted. However, when multiple processors are present, i.e., when processing is parallelized, it is desirable to shift the contradiction in the direction of formal assumptions and defer processing on contradictions that have only pseudo-assumptions on their full grounds. and their pseudo-assumptions are not formed by unconditional counter-assertions or indisputable variables. Otherwise, when one contradiction re-asserts the value predicate that was negated to form the next pseudo-assumption (in this case, the given contradiction It is possible to move pseudo-suppose to have the direction of motion reversed).

병행화된 프로세싱에 의해 형성되는 것들과 유사한 문제들은 모순들이 차례로 라이좀 네트워크를 통해 이동되지 않는 경우 분명해질 수 있다. 결과적으로, 모순들이 간섭을 제한하는 시퀀스로 해결된다는 것을 보장하기 위해 해결될 모순들의 스택 또는 다른 배열된 풀을 유지하는 것이 바람직하다. 편리한 시퀀스는 가장 최근 반대-단정이 반대-단정 제약에서의 모순을 해결한 직후 해당 후보 제약의 단정을 부정하는 경우 후보 제약에서의 모순을 해결하는 것 및 아직 해결되지 않았던 모순들을 형성한 점점 더 이력적인 반대-단정등 중 가장 최근 반대-단정에 대한 그것들의 근접성에 따라 모순들을 계속하여 해결하는 것이다.Problems similar to those formed by parallelized processing may become apparent if inconsistencies are not, in turn, migrated through the lysomal network. Consequently, it is desirable to maintain a stack or other arranged pool of contradictions to be resolved to ensure that contradictions are resolved in an interference limiting sequence. A convenient sequence is to resolve a contradiction in a candidate constraint if it negates the assertion of that candidate constraint immediately after the most recent opposite-assert has resolved the contradiction in the opposite-assert constraint, and an increasingly history of forming as yet unresolved contradictions. It continues to resolve contradictions according to their proximity to the most recent anti-assurance among the hostile objections-arguments.

최근접 목적지(Nearest Destination)Nearest Destination

거동 #1 및 #3이 이미 보여지게 되었을 때 알고리즘이 거동 #4를 나타내게 하기 위한 가장 단순한 방식들 중 하나는 "최근접 목적지" 방법을 사용하는 것에 의한다. 최근접 목적지 방법들은 모순에 "가장 가까운" 목적지를 식별한다.One of the simplest ways to have the algorithm exhibit behavior #4 when behaviors #1 and #3 have already been shown is by using the “nearest destination” method. Nearest destination methods identify the destination "closest" to the contradiction.

근접 카운트들(Nearness Counts)Nearness Counts

본 발명의 특정한 실시예들에서, 최근접 목적지는 "최소 거리 카운트들"을 비교함으로써 식별된다. 최소 거리 카운트들은 그것들이 최대 거리 카운트들 중 최대 카운트보다는 합해진 동일한 값 술어들과 연관되는 최소 거리 카운트들 중 최소 카운트를 나타낸다는 것을 제외하고는 최대 거리 카운트들과 매우 유사하다.In certain embodiments of the invention, the nearest destination is identified by comparing “minimum distance counts”. Minimum distance counts are very similar to maximum distance counts, except that they represent the minimum of the minimum distance counts associated with the same value predicates summed rather than the maximum of the maximum distance counts.

본 발명의 다른 실시예들에서, 최근접 목적지는 "한정 카운트들"을 비교함으로써 식별된다. 최소 거리 카운트들에 비한 한정 카운트들의 이점은 그것들이 모순을 이의 목적지로 이동시킴으로써 초래되는 계산 작업에 대한 보다 광범위한 추적을 제공한다는 것이다. 그 결과로 생긴 조건부 우세한 단정에 대한 완전한 근거 상 한정 카운트들은 이하와 같이 구성된다:In other embodiments of the invention, the nearest destination is identified by comparing “qualification counts”. The advantage of bound counts over minimum distance counts is that they provide a broader trace of the computational task resulting from moving the contradiction to its destination. The resulting bound counts on the full basis for the conditional dominant assertion are constructed as follows:

그 결과로 생긴 단정의 완전한 근거가 누적될 때, 이전 단정들의 완전한 근거들에서 유도되는 모든 한정 카운트가 식별되고, 이들 완전한 근거 상이 아닌 합해진 단정들은 해당 단정에 의해 한정되는 그 결과로 생긴 단정의 제약에서의 항에 대한 값 술어의 반대-단정에 의해 한정될 수 있는 제약들의 수와 동일한 한정 카운트를 갖추고, 그 다음 그 결과로 생긴 완전한 근거 상 값 술어들의 집합을 생성하는 합집합에서의 동일한 값 술어에 대한 모든 한정 카운트 중 단일 최소 한정 카운트가 식별되고 그 결과로 생긴 단정의 부정에 의해 한정될 수 있는 제약들의 수가 각각이 그 결과로 생긴 단정의 완전한 근거 상 대응 값 술어에 대한 한정 카운트로서 할당되기 전 식별된 카운트들의 각각에 가산된다.When the complete grounds of the resulting assertion are accumulated, all qualifying counts derived from the complete grounds of the previous assertions are identified, and those aggregated assertions that are not on full grounds are identified as constraint of the resulting assertion defined by that assertion. To the same value predicate in the union which has a definite count equal to the number of constraints that can be qualified by the counter-assertion of the value predicate on the term in Before a single least definite count is identified among all the definite counts for a and the number of constraints that can be bounded by the negation of the resulting assertion, each is assigned as a definite count for the corresponding value predicate on the full basis of the resulting assertion. added to each of the identified counts.

본 발명의 특정한 실시예들에서, 최근접 목적지는 "작업 카운트들"을 비교함으로써 식별된다. 한정 카운트들에 비한 작업 카운트들의 이점은 그것들이 모순을 이의 목적지로 이동시킴으로써 초래될 수 있는 계산 작업에 대한 보다 양호한 추적을 제공한다는 것이다. 그 결과로 생긴 비-가정적 조건부 우세한 단정에 대한 완전한 근거 상 작업 카운트들은 이하와 같이 구성된다:In certain embodiments of the invention, the nearest destination is identified by comparing “work counts”. The advantage of working counts over bounded counts is that they provide better tracking of computational work that may be caused by moving a contradiction to its destination. The complete rationale for the resulting non-hypothetical conditional dominant assertion is constructed as follows:

그 결과로 생긴 단정의 완전한 근거가 누적될 때, 이전 단정들의 완전한 근거들에서 유도되는 모든 작업 카운트가 식별되고, 이들 완전한 근거 상이 아닌 합해진 단정들은 해당 단정에 의해 한정되는 항에 대한 값 술어의 반대-단정의 결과로서 단정되거나 모순되게 될 수 있는 제약들의 수와 동일한 작업 카운트를 갖추고, 그 다음 그 결과로 생긴 완전한 근거 상 값 술어들의 집합을 생성하는 합집합에서의 동일한 값 술어에 대한 모든 한정 카운트 중 단일 최소 작업 카운트가 식별되고 그 결과로 생긴 단정의 부정의 결과로서 단정되거나 모순되게 될 수 있는 제약들의 수가 각각이 그 결과로 생긴 단정의 완전한 근거 상 대응 값 술어에 대한 작업 카운트로서 할당되기 전 식별된 카운트들의 각각에 가산된다.When the complete grounds for the resulting assertion are accumulated, all task counts derived from the complete grounds of the previous assertions are identified, and these non-complete grounds summed assertions are the opposite of the value predicate for the term defined by that assertion. - of all qualifying counts for the same-valued predicates in the union that have a working count equal to the number of constraints that can be asserted or contradicted as a result of the assertion, and then produce the resulting set of fully rationally valued predicates. A single minimum working count is identified and the number of constraints that can be asserted or contradicted as a result of the negation of the resulting assertion is identified before each is assigned as the working count for the corresponding value predicate on the full basis of the resulting assertion added to each of the counts.

단정되거나 모순되게 될 수 있는 제약들의 수가 병행 모순 해결 프로세스들에 의해 영향을 받을 수 있기 때문에, 작업 카운트들은 해당 경우 디더링을 회피하기 위해 재-계산되어야 할 수 있다. 이러한 추가 계산 비용은 작업 카운트들이 그 외 제공할 수 있는 이점의 많은 이점을 제거할 수 있을 수 있다. 또한, 식이 많은 값을 갖는 논리를 사용할 때, 반대-단정의 값이 전적으로 예측 가능하지 않을 수 있기 때문에, 반대-단정의 결과로서 단정하거나 모순되게 될 수 있는 제약들의 수를 정확하게 결정하는 것이 가능하지 않을 수 있다.Since the number of constraints that may be asserted or contradicted may be affected by parallel contradiction resolution processes, the working counts may have to be re-computed in that case to avoid dithering. This additional computational cost may obviate many of the other benefits that work counts may provide. Also, when using logic with many values, it is not possible to accurately determine the number of constraints that can be asserted or contradicted as a result of the opposite-assert, because the value of the opposite-assert may not be entirely predictable. it may not be

"접근 카운트들"은 최소 거리 카운트들, 한정 카운트들, 또는 작업 카운트들로서 위에서 예증된 카운트들의 집합을 일반화하는 명칭이다. 접근 카운트들의 다른 종류들이 가능하나, 임의의 유효한 접근 카운트는 위에서 설명된 예시적인 접근 카운트들이 그러한 바와 같이, 카운트들이 엄격하게 유지되는 경우 모순이 이동된 후 지속되거나 보다 강조되는 모순을 이동할 방향들의 배열을 제공함으로써 최근접 목적지 방법을 지지해야 한다."Approach counts" is a name that generalizes the set of counts exemplified above as minimum distance counts, bound counts, or work counts. Other kinds of access counts are possible, but any valid access count is an arrangement of directions in which a contradiction will persist or shift more accentuated after the contradiction is moved if the counts are held strictly, as the exemplary access counts described above do. should support the nearest destination method by providing

유효한 목적지에 대한 최소 근접 카운트를 제공하는 한정된 항에 대한 값 술어를 반대-단정하는 것 및 접근 카운트들이 엄격하게 유지될 때 반대-단정의 항을 한정하는 우세한 단정들을 부정하는 것은, 모순이 제약에서 제약으로 이동함에 따라, 반대-단정에 의해 부정된 우세한 단정의 완전한 근거 상 선택된 목적과 연관되는 접근 카운트가 그것이 이전에 그랬던 것보다 다음 반대-단정에 대해 적게 되게 ㅎ할 것이다; 그리고 선택된 목적지로의 모든 다른 경로에 대한 근접 카운트들은 보통 증가할 것이나 최대한 목적지로의 현재 선택된 경로의 접근 카운트의 감소와 동일한 증분만큼 감소될 수 있으며, 이는 선택된 목적지로의 다양한 경로의 접근 배열이 손상되지 않거나 선택된 경로를 훨씬 더 강조하여 선호하게 남긴다. 따라서 그러한 경우들에서, 모순은 경로를 한 번도 되짚어 가지 않고 선택된 목적지로 이동할 것이다.Contrary to asserting the value predicate on the bounded term that gives the minimum proximate count to a valid destination and negating the prevailing assertions qualifying the term of the opposing assertion when the access counts are held strictly, the contradiction in the constraint Moving on to a constraint will cause the access count associated with the purpose chosen on the full basis of the dominant assertion negated by the counter-assertion to be less for the next counter-assert than it was before; And the proximity counts for all other routes to the selected destination will normally be incremented but may be decremented by an increment equal to the decrement of the approach counts of the currently selected route to the destination at most, which corrupts the arrangement of approaches of the various routes to the selected destination. It leaves a preference that does not or that a chosen path is much more emphasized. Thus, in such cases, the contradiction will travel to the chosen destination without traversing the path once.

디더링dithering (Dithering)(Dithering)

접근 카운트들이 엄격하게 유지되지 않는다면, 모순의 모션은 최근접 목적지 방법이 사용될 때 디더링할 수 있다. 모순이 선택된 목적지로 이동하고 그 다음 선택된 목적지가 더 이상 해당 방향에서의 경로에 있지 않다는 것이 드러나거나 그것이 실제로는 그것이 보여지는 것보다 이러한 경로에 따른 선택된 목적지로 더 멀고, 동일한 목적지로의 상이한 경로가 현재 경로를 따라 드러난 거리에 관해 더 가깝거나, 상이한 값 술어가 목적지로서 선택될 때, 모순의 모션의 방향이 변경된다. 방향의 이러한 변경은 최근에 이동된 방향과 반대여서, 모순이 동일한 제약들 중 일부를 재-횡단할 수 있다는 것을 의미하는, "디더링"을 야기하여, 새롭게 선호된 목적지로 이동하기 전 이의 원래의 위치로 되돌아갈 수 있다. 그러나, 이 경우, 원래 목적지 및 동일한 경로에서의 다른 목적지들에 대한 접근 카운트들은 모순이 선호된 목적지가 원래의 경로를 따라 가장 신속하게 도달되지 않는 것이 드러났던 지점으로부터 떨어져 이동함에 따라 업데이트될 것이다. 이는 모순의 모션의 방향이 다시 역전되는 경우, 최근접 목적지의 변경의 새로운 발견이 모션의 방향이 역전되었던 처음에 발견되었던 지점에 또는 그 이전에 어떤 새로운 발견도 존재하지 않을 것이라는 것을 의미한다. 결과적으로, 모순은 최근접 목적지에 대한 새로운 발견들을 기록할 수 있는 식에서의 제약들의 수에 의해 제한되는 회수로 제약들의 중앙 체인을 앞뒤로 되짚어가며, 목적지들 중 하나에 결국에는 도달할 것이다. 따라서 접근 카운트들이 엄격하게 유지되지 않을 때 최소 접근 카운트를 제공하는 경로를 따라 선택된 목적지를 추구하는 것은 방법이 접근 카운트들이 엄격하게 유지되는 유사한 방법보다 상당히 덜 효과적이더라도, 여전히 하이퍼-다항식 비용을 가지지 않는 거동을 생성한다.If the access counts are not strictly maintained, the inconsistent motion may dither when the nearest destination method is used. The contradiction moves to the chosen destination and then it turns out that the chosen destination is no longer on the path in that direction, or that it is actually further to the chosen destination along this path than it appears, and a different path to the same destination When a closer or different value predicate with respect to the revealed distance along the current path is selected as the destination, the direction of the contradictory motion is changed. This change of direction is opposite to the recently moved direction, causing "dithering", meaning that the contradiction may re-traverse some of the same constraints, resulting in "dithering" of its original position before moving to the new preferred destination. can go back to In this case, however, the access counts for the original destination and other destinations on the same route will be updated as the contradiction moves away from the point at which the preferred destination appeared not to be reached most quickly along the original route. This means that if the direction of the contradictory motion is reversed again, there will be no new discoveries at or before the point where the new discovery of the change of nearest destination was initially discovered where the direction of motion was reversed. Consequently, the contradiction will eventually arrive at one of the destinations, traversing the central chain of constraints a number of times limited by the number of constraints in the equation that can record new discoveries for the nearest destination. Thus, pursuing a chosen destination along a path that gives a minimum access count when access counts are not strictly maintained is still not having a hyper-polynomial cost, although the method is significantly less effective than a similar method in which access counts are strictly maintained. create behavior

티어드롭에서의 부정당한 목적지들이 임의의 정당한 목적지들보다 모순에 더 가까울 수 있기 때문에, 최근접 목적지 방법이 사용될 때 무한 디더링이 발생하는 것이 가능하다. 부정당한 목적지들이 하나보다 많은 방향에서 모순에 더 가깝다면, 모순은 이의 티어드롭의 촉진 요인이 재-단정될 때까지 하나의 부정당한 목적지로 이동할 것이며, 이 지점에서 그것은 가능한 목적지 및 역 방향에서 상이한 부정당한 목적지가 최근접인 것처럼 보이는 목적지일 수 있음에 따라 사라질 것이다. 해당 경우, 촉진 요인을 재-부정하는 것은 본래의 부정당한 목적지가 다시 최근접인 것으로 보이게 만들어, 모션의 방향이 다시 무한정으로 역전하게 할 것이다.It is possible for infinite dithering to occur when the nearest-destination method is used, since invalid destinations in the tierdrop may be closer to contradiction than any legitimate destinations. If the negated destinations are closer to the contradiction in more than one direction, the contradiction will move towards one negated destination until the facilitating factor of its teardrop is re-assured, at which point it differs in the possible destination and vice versa. It will disappear as the invalid destination can be the one that appears to be the nearest one. In that case, re-negating the facilitator will again make the original negated destination appear nearest again, causing the direction of motion to reverse indefinitely again.

최근접 목적지 방법이 사용될 때 무한한 디더링이 발생하는 것을 방지하기 위해, 이하 전략들: (1) 부정당한 목적지들인 의사-가정들을 명백하게 표시하는 것, 가장 효율적으로 촉진 요인을 부정하는 반대-단정을 만들 때 이러한 표시를 파퓰레이팅하는 것, 및 이러한 표시가 맥락상 티어드롭을 식별하는 반대-단정에 의해 초래되고 생성되는 단정들에 의해 역행적으로 승계되게 하는 것, 또는 (2) 분명한 의사-가정들이 정당한 목적지들이 아닐 때를 재-식별하기 위해 완전한 근거들 상에 있는 동일한 변수에 대한 값 술어들을 정기적으로 비교하는 것, 또는 (3) 역-추적 동안 유사한 재-식별을 만드는 것, 또는 (4) 모션의 모든 다른 가능한 방향이 한정되지 않고 그것들의 한정들이 무조건적 단정들에 의해 완전히 지지되지 않는 한 모순이 방향을 역전하지 않아야 한다는 규칙을 추가함으로써 방법을 변경하는 것 중 임의의 전략이 사용되어, 최근접 목적지 어헤드(Nearest Destination Ahead)라 불리는 방법을 생성할 수 있다.To prevent infinite dithering from occurring when the nearest-destination method is used, the following strategies are: (1) to unambiguously indicate pseudo-assumes that are negligible destinations, and most effectively make counter-assertions that negate the facilitator. populating such indications when, and allowing such indications to be inherited retrospectively by assertions brought about and generated by counter-assertions that identify a contextually tierdrop, or (2) clear pseudo-assumes regularly comparing value predicates for the same variable on complete grounds to re-identify when not legitimate destinations, or (3) make similar re-identifications during back-tracking, or (4) Any strategy of altering the method by adding a rule that all other possible directions of motion are not bound and that contradictions must not reverse directions unless their limits are fully supported by unconditional predicates has been used, recently You can create a method called Nearest Destination Ahead.

부정당한 목적지의 명백한 표시는 현재 기록된 우세한 경로 내 해당 값 술어에 의해 한정되는 항을 반대-단정하는 것이 가능한 언제라도 의사-가정이 유효한 근거를 가질 것이라는 실질적인 선언이고 따라서 그것은 유효한 근거가 현재 기록되지 않더라도 유효한 근거를 갖지 않는 것으로 취급되지 않아야 한다. 언급된 바와 같이, 부정당한 목적지의 명백한 표시의 승계는 역행되어야 하며, 제1 우세한 경로가 그러한 표시를 갖고 제1 우세한 경로로 선언적으로 수렴하거나 연언적으로 수렴하는 제2 우세한 경로가 그러한 표시를 갖지 않는다면 결과가 어떤 그러한 표시도 가지지 않아야 한다는 것을 의미한다. 부정당한 목적지에 대한 접근 카운트는 역행하여 유사하게 전파되어야 한다. 동일한 항이 하나의 하위-경로에서의 부정당한 목적지인 것으로 나타나고 동시에 다른 하위-경로에서의 정당한 목적지인 것으로 나타날 수 있기 때문에, 목적지들을 식별하기 위해 역-추적을 사용할 때 검색 동안 대면되는 모든 값의 기록을 유지하는 것이 필요하며, 이는 스택에서 갑자기 나온 요소들의 이력에 의해 가장 잘 구현된다.An unequivocal indication of an invalid destination is a substantive declaration that the pseudo-assumption will have a valid basis whenever it is possible to counter-state the term defined by the corresponding value predicate in the currently recorded dominant path, and therefore it is that the valid basis is not currently recorded Even if it does, it should not be treated as having no valid grounds. As mentioned, the succession of an explicit indication of an invalid destination must be reversed, such that the first predominant route has such an indication and a second predominant route that either declaratively converges to the first predominant route or converges declaratively does not have such an indication. If not, it means that the result should not have any such indication. Access counts for invalid destinations should be propagated backwards and similarly. Recording of all values encountered during a search when using back-trace to identify destinations, since the same term may appear to be an illegal destination in one sub-path and at the same time be a legitimate destination in another sub-path. , and this is best implemented by the history of elements popping out of the stack.

디더링의 가능성은 그것이 우세한 단정들이 지속되는 것이 최상이라는 주요 근거이고, 완전한 근거들이 사용되지 않고 거동 #2가 의존하는 정보를 획득하기 위해 역-추적하는 것이 필요할 때 특히 그러하다.The possibility of dithering is that it is the main rationale that the prevailing assertions are best to persist, especially when complete evidence is not used and it is necessary to back-trace to obtain information on which behavior #2 depends.

그것이 가장 최근 반대-단정 앞에 있는지 또는 뒤에 있는지와 관계없이 최근접 목적지로 모순을 이동시키는 방법은 엄격한 최근접 목적지 방법(Strictly Nearest Destination method)이라 칭한다. 선호된 목적지가 최근접으로 나타나는 방향으로 모순을 이동시키는 방법은 최근접 선호 목적지 방법이라 칭하고, 최근접 선호 목적지 어헤드 방법이 또한 존재한다. 나열되는 방법들의 각각은 최근접 목적지 방법들의 부류의 구성원들이다.The method of shifting the contradiction to the nearest destination regardless of whether it is before or after the most recent opposite-assert is called the Strictly Nearest Destination method. The method of shifting the contradiction in the direction in which the preferred destination appears closest is called the nearest preferred destination method, and the nearest preferred destination ahead method also exists. Each of the listed methods is a member of the class of nearest destination methods.

가장 먼 역전(Farthest Reversal)Farthest Reversal

거동 #1 및 #3이 이미 보여지게 되었을 때 거동 #4가 보여지게 하는 방법들의 다른 부류를 "가장 먼 역전" 방법이라 칭한다. 가장 먼 역전은 모순된 제약에서의 항들을 한정하는 우세한 조건부 단정들로 이어지는 경로들을 구별하는 것에 의존한다.Another class of methods that cause behavior #4 to become visible when behaviors #1 and #3 have already become visible are termed "farthest reversal" methods. The furthest inversion relies on discriminating the paths leading to the prevailing conditional assertions that define terms in the contradictory constraint.

압축된 완전한 근거의 구성은 케스케이딩 가지-감산들을 효과적으로 채용한다. 케스케이딩 가지-감산들의 이러한 동일한 방법은 완전한 근거들을 구별하는데 사용될 수 있다. 특히, 그것이 기초에 가산되기 전 최종 공동-기초는 기초에 관해 "구별된 근거"이다.The compact complete rationale construction effectively employs cascading branch-subtractions. This same method of cascading branch-subtractions can be used to distinguish complete grounds. In particular, the final co-foundation before it is added to the basis is a "distinct basis" with respect to the basis.

가장 먼 역전 방법에서, 가장 최근에 조건부로 한정된 제약에서의 항을 식별하는 것이 필요하다. 이러한 식별은 제약의 모든 항이 한정되는 순서를 기록함으로써 가능하게 될 수 있다. 그러한 배열이 각 제약에 대해 개별적으로 기록될 수 있거나, 우세함 번호들이 이러한 목적을 위해 사용될 수 있다.In the furthest inversion method, it is necessary to identify the terms in the most recently conditionally defined constraint. This identification may be made possible by noting the order in which all terms of the constraint are defined. Such an arrangement may be recorded separately for each constraint, or dominant numbers may be used for this purpose.

전체 가장 먼 역전 방법은 이하 동작들을 포함할 수 있다:The overall furthest reversal method may include the following operations:

[F1] 목적지는 주어진 모순에 대한 모션에 대해 선택된다. 선택하는 방식은 선택이 정당하고 지속되는 한 중요하지 않다. 선택된 목적지가 주어진 모순으로 이어지는 경로들에 있지 않다는 것이 드러나면, 다른 목적지가 선택되나; 그렇지 않으면, 선택은 모순이 제약들을 통해 이동함에 따라 지속되어야 한다.[F1] A destination is chosen for the motion for a given contradiction. The way you choose doesn't matter as long as the choice is just and lasting. If it is found that the chosen destination is not on the paths leading to the given contradiction, then another destination is chosen; Otherwise, the choice must persist as the contradiction moves through the constraints.

[F2] 주어진 모순된 제약에서의 단지 하나 또는 두 개의 항이 그것으로 연언적으로 수렴하는 우세한 단정들의 완전한 근거들 상 목적지를 갖는 결정 요인에 의해 한정되는 경우:[F2] If only one or two terms in a given contradictory constraint are bounded by a determinant having a destination on the full grounds of the prevailing predicates that converge chronologically to it:

[F2a] 그러한 유사하게 자격이 있는 항들 중 최소 최근 한정된 항인 항은 값 술어가 반대-단정될 항이다.[F2a] Among such similarly qualified terms, the term that is the least recently qualified term is the term whose value predicate is to be counter-asserted.

[F3] 그렇지 않으면:[F3] Otherwise:

[F3a] 그것으로 연언적으로 수렴하는 우세한 단정들의 완전한 근거들 상 목적지를 갖는 결정 요인에 의해 한정되는 주어진 모순된 제약에서의 항들 중, 가장 최근 한정되었던 항은 "주요" 항으로 지정되고 주요 항의 우세한 경로는 "주요 경로"이다. [F3a] Of the terms in a given contradictory constraint defined by a determinant having a destination on the full grounds of the prevailing assertions that converge chronologically to it, the term most recently defined is designated as the "major" term and The predominant path is the "major path".

[F3b] 결정 요인으로 연언적으로 수렴하는 우세한 단정들의 완전한 근거들 상 목적지를 갖는 결정 요인에 의해 한정되는 주어진 모순된 제약에서의 각 항에 대해:[F3b] For each term in a given contradictory constraint defined by a determinant having a destination on the full grounds of the prevailing assertions that converge chronologically to the determinant:

[F3b1] "가지치기된 공동-기초"를 주어진 항에 대해 빈 것으로 초기화한다.[F3b1] Initialize "pruned co-foundation" to empty for the given term.

[F3b2] 주어진 항을 한정하는 결정 요인을 생성하기 위해 연언적으로 수렴하고 이의 완전한 근거 상 목적지를 갖는 각 우세한 단정에 대해:[F3b2] For each prevailing assertion that converges chronologically to produce a determinant defining a given term and has a destination on its full grounds:

[F3b2a] 주어진 우세한 단정의 완전한 근거를 "일시적 공동-기초"로 카피한다.[F3b2a] Copies the full rationale of a given prevailing assertion as a "temporary co-foundation".

[F3b2b] 원격 카운트들의 오름 차순으로, 목적지를 포함하는 완전한 근거를 갖는 우세한 단정의 값 술어 또는 목적지를 나타내지 않는 일시적 공동-기초에서의 각 값 술어에 대해:[F3b2b] For each value predicate in a temporal co-base that does not indicate a destination or a predominantly assertive value predicate with a fully well-founded, in ascending order of remote counts:

[F3b2b1] 일시적 공동-기초로부터의 주어진 값 술어를 나타내는 우세한 단정을 가지-감산하고, 일시적 공동-기초에서 주어진 값 술어를 제거한다. [F3b2b1] Branch-subtract the dominant assertion representing the given value predicate from the temporal co-foundation, and remove the given value predicate from the temporal co-foundation.

[F3b2c] 가지치기된 공동-기초에 일시적 공동-기초를 가지-감산하고, 주어진 항에 대해 가지치기된 공동-기초에 주어진 우세한 단정의 값 술어를 추가한다.[F3b2c] Branch-subtract a temporal co-foundation to a pruned co-foundation and add the value predicate of the given dominant assertion to the pruned co-foundation for a given term.

[F3c] 주요 항에 대한 가지치기된 공동-기초를 "주요 기초"로 카피하고, 주요 항에 대해 가지치기된 공동-기초를 제거한다. [F3c] Copies the pruned co-foundation for the principal term to "major basis", and removes the pruned co-foundation for the principal term.

[F3d] 나머지 가지치기된 공동-기초를 갖는 주어진 모순된 제약에서의 각 항에 대해:[F3d] For each term in the given contradictory constraint with the remaining pruned co-foundation:

[F3d1] 원격 카운트들의 오름 차순으로, 주어진 항의 가지지기된 공동-기초에서의 각 값 술어에 대해:[F3d1] For each value predicate in the branched co-base of the given term, in ascending order of remote counts:

[F3d2a] 주어진 값 술어가 주어진 항의 주요 기초에 있으면, 주어진 항의 가지치기된 공동-기초에서 주어진 값 술어의 우세한 단정을 가지-감산한다.[F3d2a] Branch-subtracts the dominant assertion of the given value predicate from the pruned co-foundation of the given term if the given value predicate is on the prime basis of the given term.

[F3e] 가장 큰 원격 카운트를 갖는 값 술어를 포함하는 나머지 가지치기된 공동-기초를 갖는 주어진 모순된 제약에서의 항이 반대-단정될 항이다.[F3e] The term in the given contradictory constraint with the remaining pruned co-foundation containing the value predicate with the largest remote count is the term to be counter-asserted.

가장 먼 역전 방법에서, 최근접 목적지 방법에서와 같이, 카운트들이 엄격하게 유지되지 않는 경우, 모순들의 모션은 디더링될 수 있다. 양 방법에서, 디더들의 수는 모순될 수 있거나 기존 모순의 모션의 방향의 변경에 자극을 제공할 수 있는 제약들의 수에 의해 제한되고, 단일 제약이 디더에 반응하여 모순에 의해 횡단될 수 있는 최대 회수는 해당 제약에서의 항들의 수와 동일하고, 디더들의 새로운 집합은 가정이 도입될 때는 언제든지 가능하다. 제약에서의 항들의 수로 각 디더에 대해 횡단하는 제약의 수를 제한하고 식에서의 제약들의 수로 각 가정에 대해 디더들의 수를 제한하는 모순을 이동할 방향을 선택하는 임의의 방법은 수용 가능한 방법이다.In the furthest inversion method, if the counts are not strictly maintained, as in the nearest destination method, the motion of contradictions may be dithered. In both methods, the number of dithers is limited by the number of constraints that can contradict or provide a stimulus to a change in the direction of motion of an existing contradiction, and the maximum that a single constraint can be traversed by the contradiction in response to dither. The number is equal to the number of terms in the constraint, and a new set of dithers is possible whenever an assumption is introduced. Any method of choosing the direction to shift the contradiction limiting the number of constraints traversing for each dither to the number of terms in the constraint and limiting the number of dithers for each hypothesis to the number of constraints in the equation is an acceptable method.

가장 먼 역전 방법은 주요 경로 그 자체에서 측정될 때 거리에 관해 모순으로부터 가장 먼 가능한 지점에서 주요 경로를 조인하거나 주요 경로를 조인하지 않는 경로를 일관되게 선택함으로써 작용하고, 이는 모순들의 모션이 주요 경로 상에서 이중-후진하고 그 다음 경로에 대한 정보가 손실되거나 이전에 이용 가능하지 않았던 경우들에서를 제외하고 다시 이중-후진하는 것을 방지한다.The furthest inversion method works by consistently choosing a path that either joins the major path at the farthest possible point from the contradiction with respect to distance, as measured from the major path itself, or does not join the major path, whereby the motion of the contradictions is the major path. Avoid double-backing again except in cases where information about the next path is lost or not previously available after double-backing in the phase.

다수의 각종 최근접 목적지 방법이 존재한다; 그리고 유사하게, 다수의 각종 가장 먼 역전 방법이 존재한다. 그러나, 최근접 목적지 방법들이 접근이 어떻게 측정되는지에 따라 달라질 수 있는 한편, 가장 먼 역전 방법들에 원격을 측정하는 상이한 방식들을 적용하는 것은 서로 유사한 우세한 경로에서의 단정들의 배열들을 생성한다. 가장 먼 역전 방법의 변형의 보다 실질적 예는 계층화된 근거들을 사용하는 것이다.A number of different nearest destination methods exist; And similarly, there are a number of various farthest reversal methods. However, while nearest-destination methods may vary depending on how approach is measured, applying different ways of measuring telemetry to farthest reversal methods produces sequences of assertions in the dominant path that are similar to each other. A more practical example of a variant of the farthest reversal method is the use of stratified grounds.

계층화된 근거들(stratified reasons)Stratified reasons

"계층화된 근거"는 그것들의 우세한 경로들에 특정한 가정을 갖는 우세한 단정들을 제공하는 제약들에 제한되는 우세한 경로의 기록의 종류이다. 이들 제약은 제1 가정의 도입의 결과로서 단정을 생성하는 모든 제약이 해당 동일한 집합에서의 다른 제약의 계층화된 근거의 부분일 수 있고, 제2 가정과 조합하여 제1 가정의 도입의 결과로서 단정을 생성하는 모든 제약이 이러한 후자의 집합에서의 다른 제약의 계층화된 근거의 부분일 수 있다는 의미에서 계층화되며, 그에 따라 제약들은 이의 계층에서의 단정들에 대한 "소스(source)"라 불리우는 특정한 최신 가정에 할당되는 각 계층을 갖는 "계층들"로 분리된다. 계층화된 근거는, 가지치기된 공동-기초가 다른 계층들로부터의 한정들을 나타내는 값 술어들을 포함하지 않고 동일한 제약들을 통해 명시된 가정으로 또한 이어지지 않고 의사-가정들로 이어지는 경로들을 포함하지 않는다는 것을 제외하고, 그리고 계층화된 근거들이 기성 카운트들, 미필 카운트들, 또는 접근 카운트들을 갖지 않고 우세함 번호들을 포함하나 우세함 번호들은 엄격하게 유지된 원격 카운트들의 역할을 하기 위해 수정되지 않는다는 것을 제외하고, 위에서 설명된 바와 같은 가지치기된 공동-기초와 유사하다. 이와 같이, 계층화된 근거들은 그것들이 단순하게 "근거들"이라 지칭되는 종래 기술의 부분이다.A "stratified basis" is a kind of record of a dominant path that is constrained to constraints that provide dominant assertions with certain assumptions on those dominant paths. These constraints indicate that any constraint that produces an assertion as a result of the introduction of the first assumption can be part of a layered rationale of other constraints in that same set, and that, in combination with the second assumption, produces an assertion as a result of the introduction of the first assumption. Every constraint it creates is layered in the sense that it can be part of the layered rationale of another constraint in this latter set, so that the constraints are made with a certain up-to-date assumption called the "source" for assertions in its layer. It is divided into “layers” with each layer assigned to . A stratified rationale is, except that the pruned co-foundation does not contain value predicates representing constraints from other layers, nor does it lead to an assumption specified through the same constraints, nor does it contain paths leading to pseudo-assumptions. , and the stratified grounds do not have out-of-the-box counts, unfilled counts, or access counts and include dominant numbers, except that dominant numbers are not modified to serve as strictly maintained remote counts. Similar to the pruned co-foundation as described above. As such, layered grounds are part of the prior art for which they are simply referred to as “evidences”.

가지치기된 공동-기초와 유사한 것은 그것이 실제 가지치기된 공동-기초를 생성하는 비용을 감소시키기 때문에, 가장 먼 역전 방법을 사용하는 실시예의 부분으로서 계층화된 근거들을 사용하는 주된 이점이다. 그러나, 제1 라이좀 네트워크가 이의 부분들이 상이한 계층의 제2 라이좀 네트워크에 의해 소모되기 때문에 줄어들 때, 제2 라이좀 네트워크의 우세한 경로에서의 한정들로 이어지고 이들을 생성하는 제1 라이좀 네트워크의 경로들이 이용 가능하지 않으며; 결과적으로, 제2 라이좀 네트워크에서의 제약들의 모션은 반대 단정들이 제1 라이좀 네트워크의 그것들의 다른 경로들 아래로 디더링을 발생시키지 않고 무조건적이어야 한다는 것을 인식하지 않을 것이다. 또한, 원격 카운트들로서 엄격하게 유지되지 않는 우세함 번호들은 추가적인 디더링을 야기할 것이고, 엄격한 유지는 그 자체로 추가적인 계산 작업이다. 따라서 완전히 계층화된 근거들을 사용하는 가장 먼 역전 방법들의 변형은 특히 효과적이지 않을 것이다.Similar to a pruned co-foundation is the main advantage of using stratified grounds as part of an embodiment using the furthest inversion method, as it reduces the cost of creating an actual pruned co-foundation. However, when the first lysomal network is reduced because parts thereof are consumed by the second lysomal network of a different layer, it leads to limitations in the predominant path of the second lysomal network and of the first lysomal network generating them routes are not available; As a result, the motion of constraints in the second lysomal network will not recognize that the opposite assertions must be unconditional without causing dithering down their other paths in the first lysomal network. Also, dominant numbers that are not strictly maintained as remote counts will cause additional dithering, which in itself is an additional computational task. Therefore, variants of the furthest reversal methods using fully stratified rationales will not be particularly effective.

가장 먼 역전 방법들의 변형들은 주요 경로를 다시 조인하는 지점에 대한 보다 짧은 경로를 발견함으로써 또는 주요 경로를 다시 조인하는 지점에 대한 짧은 경로가 존재하는 목적지를 선택하는 것을 선호함으로써 계산 비용에 적은 감소를 제공할 수 있다.Variations of the furthest inversion methods yield small reductions in computational cost by finding a shorter path to a point that rejoins the major path, or preferring to choose a destination for which a short path to a point that rejoins the major path exists. can provide

최근접 목적지 방법들이 최소 거리들을 이동하는 것 또는 모순을 축출하기 위해 최소 계산 비용을 초래하도록 예상되는 경로를 이동하는 것을 필요로 하고, 가장 먼 역전 방법이 주요 경로에서의 가장 이른 지점으로 이동하는 것을 필요로 하기 때문에, 이동되는 거리 또는 해당 거리를 이동하는 계산 비용에 관계없이, 최근접 목적지 방법들은 모순을 축출하기 위해 보다 적은 계산 비용을 초래하는 경향이 있어, 특정한 대안예들에 비한 이점들을 갖는 최근접 목적지 방법들을 제공할 것이다.Nearest destination methods require moving the least distances or moving the expected path to incur minimal computational cost to evict contradictions, and the furthest reversal method moves to the earliest point in the main path. Neither the distance traveled or the computational cost of moving that distance, because they Nearest destination methods will be provided.

알고리즘이 거동 #4를 나타내게 하는 방법들을 조절하는 것Controlling the ways the algorithm exhibits behavior #4

일부 경우들에서 모순이 최근접 목적지 또는 가장 먼 역전에 따라 선택될 수 있는 방향과 상이한 방향으로 이동되어야 한다는 것이 가능하다. 반대-단정의 여집합이 비어있을 수 있거나 SOMME들의 시스템이 단지 특정한 변수들이 반대-단정되는 값 술어들을 가질 수 있다는 것을 필요로 할 때 이것이 사실일 수 있다. 이것이 사실일 때, 해당 방법이 최근접 목적지이든 가장 먼 역전이든, 방향을 선택하는 방법을 조절하는 것이 필요하다. 이러한 조절을 제공하는 하나의 방식은 변수, 제약, 항, 또는 단정과 연관되는 것보다는, 모순들을 해결하는 프로세스와 연관되는 데이터 구조로서 효과적으로 구현되는, 모션에서의 모순과, 해당 항을 한정하는 완전한 근거 상 발견되는 값 술어에 의해 식별되는, 반대-단정될 원하는 항을 연관시키는 것이다. 하나보다 많은 그러한 프로세스 표기는 각 프로세스에 대해 필연적일 수 있으나, 그러한 표기들의 수는 식에서의 변수들의 수를 초과할 수 없다.It is possible that in some cases the contradiction should be shifted in a direction different from that which could be chosen according to the nearest destination or the furthest reversal. This may be true when the complement of the opposite-assert may be empty or the system of SOMMEs only needs that certain variables may have value predicates that are opposite-asserted. When this is the case, it is necessary to adjust how the direction is chosen, whether that method is the nearest destination or the furthest reversal. One way to provide such adjustment is to provide a complete definition of a contradiction in motion, and a complete definition of the term, effectively implemented as a data structure associated with a process of resolving contradictions, rather than associating with a variable, constraint, term, or assertion. It associates the desired term to be counter-associated, identified by the value predicate found on the basis. More than one such process notation may be necessary for each process, but the number of such notations cannot exceed the number of variables in the equation.

모순을 이동할 방향을 선택하는데 사용되는 방법들에 대한 상기 일부 설명들은 목적지가 미리-선택되었던 것처럼 기록된다. 다른 가정들보다는 특정한 가정들을 부정하기 위한 어떤 미리 규정된 선호도 존재하지 않는 경우들에서, 반대-단정에 대한 후보인 각 항의 우세한 경로로부터 모순된 제약에서의 다른 항들을 한정하는 조건부 우세한 단정들을 감산함으로써 방향을 선택하도록 방법들을 변경시키는 것이 보통 유용하다. 이렇게 하는 것은 다른 후보 항들을 통과하는 경로들로부터 단지 유도되지 않는 그것들의 팩터들로 각 후보 항에 대한 결정적인 정보를 제한하는 것의 효과를 갖는다.Some of the above descriptions of the methods used to select the direction to move the contradiction are recorded as if the destination had been pre-selected. In cases where there is no pre-defined preference for negating certain assumptions rather than others, by subtracting the conditional dominant assertions that define the other terms in the contradictory constraint from the dominant path of each term that is a candidate for a counter-assert It is usually useful to change the methods to select a direction. Doing so has the effect of limiting the deterministic information for each candidate term to those factors that are not merely derived from paths passing through the other candidate terms.

본 발명의 다른 other of the present invention 실시예들Examples

특정한 변수들이 특정한 값들을 획득하는 사용자 선호들이 존재하고 알고리즘이 그것들의 선호들로 변경될 때, 변경은 알고리즘의 "보존적" 변형을 구현한다. 어떤 변경도 구현되지 않을 때, 알고리즘의 "동적" 변형이 구현된다.When there are user preferences for which certain variables obtain certain values and the algorithm changes to those preferences, the change implements a “conservative” variant of the algorithm. When no changes are implemented, a “dynamic” variant of the algorithm is implemented.

다수의 선호가 동일한 순번을 가질 때, 모순을 해결할 때 특정한 목적지들에 대한 선호로서 차이를 구현하는 것이 가능하다. 그러나, 엄격한 최적화가 요구될 때, 근거들을 포함하여, 결과로 초래된 네트워크를 취하고, 선호의 순번이 매겨진 순서로 하나씩, 무조건적 단정들로서 선호된 값들을 부과하는 다른 프로세스가 뒤따르는, 변수들에 대한 충족 값 할당을 발견하는 프로세스로서 본 발명을 구현하여, 그것이 필연적 모순을 생성하는 경우 임의의 그러한 무조건적 단정을 거부하는 것이 필요하다.When multiple preferences have the same sequence number, it is possible to implement differences as preferences for specific destinations when resolving contradictions. However, when stringent optimization is required for variables, including the rationales, another process follows that takes the resulting network and imposes preferred values as unconditional assertions, one by one in ordered order of preference. It is necessary to implement the present invention as a process of discovering satisfying value assignments, rejecting any such unconditional assertion if it creates the inevitable contradiction.

복합 선호 구조들이 합, 프로덕트, 또는 최적화 스코어링 체제의 다른 결과를 나타내는 것으로 해석될 수 있는 제약들과 같은, 추가적인 제약들로서 구현될 수 있다. 이 경우, 선호들이 이러한 결과를 나타내는 변수들에 대해 부과된다.Complex preference structures may be implemented as additional constraints, such as constraints that may be interpreted as representing other results of a sum, product, or optimization scoring scheme. In this case, preferences are imposed on the variables that represent this outcome.

본 발명의 실시예들은 다양한 방식으로 구현될 수 있다. 특정한 기질에 대한 구현의 선택은 해당 기질에 이용 가능한 이행적 경제에 의존할 수 있다. 구체적으로, 디바이스들의 제품은 메커니즘들에 대한 공간의 제곱된 비용을 절감하기 위해 계산 시간의 직선적 증가를 통상적으로 트레이드(trade)하고, 소프트웨어의 제품은 추가적인 메모리 사용의 비용으로 계산 시간을 절감하는 것을 선호하는 반대 트레이드를 보통 형성한다. 낮은 최대 계산 비용을 제공하는, 본 발명의 하나의 특정한 유용한 실시예는 모순들을 이동시킬 방향을 선택하는 최근접 목적지 방법을 수행하고 미필 카운트들, 최대 거리 카운트들 및 한정 카운트들을 포함하는 압축된 완전한 근거들을 저장하는 싱글-스레디드 동적 변형을 구현한다. 완전한 근거들의 과반수는 가장 엄격하게 유지되나, 본 발명이 종래 수학 분석을 제공하는 프로세스에 의해 보충되지 않는 한 최대 거리 카운트들 및 한정 카운트들은 가장 느리게 유지되며, SOMME 값 술어 수정들은 가장 느리게 유지된다.Embodiments of the present invention may be implemented in various ways. The choice of implementation for a particular substrate may depend on the transitional economy available for that substrate. Specifically, the product of devices typically trades a linear increase in computation time to reduce the squared cost of space for mechanisms, and the product of software saves computation time at the cost of additional memory usage. It usually forms a preferred counter trade. One particular useful embodiment of the present invention, which provides a low maximum computational cost, performs a nearest-destination method that selects a direction to move contradictions and contains a compressed complete Implement single-threaded dynamic transformations that store evidence. A majority of complete rationales remains the most stringent, but maximum distance counts and bound counts remain the slowest, and SOMME value predicate modifications the slowest, unless the present invention is supplemented by a process for providing conventional mathematical analysis.

일반Normal

본 발명의 실시예들은 모순들이 이동할 근접 공간을 규정하기 위해 모순들 그 자체들 간 관계들을 사용한다. 결과적으로, 모순들의 모션은 그것들이 잘 배열되든, 부분적으로 배열되든, 또는 해체되든, 그리고 그것들이 상호-배타적이든 불분명하든, 값들의 특성에 의해 영향을 받지 않고; 이러한 모션은 그것들이 간격들이든, 집합들이든, 또는 별개의 값들이든, 값 술어들의 질에 의해 영향을 받지 않고; 이러한 모션은 그것이 연접이든, 분기되든, 또는 별개이든, 그리고 그것이 볼록하든, 연접하나 비-볼록하든, 또는 비-연접이든, 또는 실현 가능한 연장이 전혀 존재하지 않든, 제약들의 연장의 질 또는 형상에 의해 영향을 받지 않는다. 본 발명의 실시예들의 정확도는 가정들이 만들어지는 순서에 의해 불리하게 영향을 받는 최대 계산 비용의 크기의 차수도 경쟁하는 단정들 중 어떤 단정이 우세하게 되는지를 결정하는 차수도 아니다. 그러나, 본 발명의 실시예들의 최대 계산 비용은 변수들의 수, 그러한 변수들의 구별된 값들의 수, 및 제약들의 수에 의해 영향을 받고; SOMME들이 무한수의 값을 갖는 변수들에 대해 연산할 수 있기 때문에, 본 발명의 실시예들의 모션 및 최대 계산 비용은 제약들이 선언구들인지 다른 명백한 논리식들인지 SOMME들인지에 의해 영향을 받는다.Embodiments of the present invention use relationships between contradictions themselves to define the proximal space in which contradictions will travel. Consequently, the motion of contradictions is not affected by the nature of the values, whether they are well-arranged, partially arranged, or deconstructed, and whether they are mutually-exclusive or ambiguous; This motion is not affected by the quality of the value predicates, whether they are intervals, sets, or discrete values; This motion, whether concatenated, diverged, or distinct, and whether it is convex, contiguous or non-convex, or non-concatenated, or whether there is no feasible extension at all, depends on the quality or shape of the extension of the constraints. not affected by The accuracy of embodiments of the present invention is neither the order of magnitude of the maximum computational cost, which is adversely affected by the order in which the assumptions are made, nor the order of determining which of the competing assertions prevails. However, the maximum computational cost of embodiments of the present invention is affected by the number of variables, the number of distinct values of those variables, and the number of constraints; Because SOMMEs can operate on variables with an infinite number of values, the motion and maximum computational cost of embodiments of the present invention is affected by whether the constraints are predicates, other explicit logical expressions, or SOMMEs.

식이 SOMME들을 포함할 때 모순의 해결에서 기인하는 반대-단정들의 수, 방향, 및 조건 제한은 위에서 언급된 바와 같이, 식이 단지 선언구들을 포함할 때와 상이할 수 있다; 그러나 제약들의 근접의 정의 및 제약들의 규정하고 모순들이 이동하는 근접 공간은 영향을 받지 않고 유지된다. 결과적으로, 본 발명의 실시예들은 일차식들에 의존하는 방법들보다 훨씬 더 범용적인 프로세싱 식들의 수 유클리드 거리, 종래 위상 접근, 또는 볼록 연장의 수단을 제공한다.The number, direction, and conditional restrictions of counter-assertions resulting from the resolution of contradictions when an expression contains SOMMEs may be different from when an expression contains only predicates, as noted above; However, the definition of the proximity of constraints and the proximal space in which the constraints and the contradictions travel remain unaffected. Consequently, embodiments of the present invention provide a means of number Euclidean distance, conventional phase approach, or convex extension of processing equations that are much more general than methods that rely on linear equations.

예시적인 exemplary 실시예들Examples

실시예Example #1(계산 일반) #1 (computational general)

본 발명의 하나의 실시예는 NP, NP-완전, 또는 NP-난해를 풀이하는 동안 계산 디바이스를 실행하는 비용의 감소 및 계산 디바이스의 조작자가 NP, NP-완전, 또는 NP난해에서의 문제를 풀이하는 동안 결과를 기다려야 하는 시간의 양의 감소를 제공하는, 컴퓨터화된 계산에 대한 일반적인 개선이다. 본 발명의 실시예들은 계산기에서의 새로운 산술 회로에 또는 그러한 회로를 대행하는 소프트웨어 모듈에 필적할만 하다.One embodiment of the present invention provides a reduction in the cost of executing a computational device while solving an NP, NP-complete, or NP-hard problem and allows an operator of the computational device to solve a problem in an NP, NP-complete, or NP-hard problem. It is a general improvement to computerized calculations, which provides a reduction in the amount of time one has to wait for a result while doing it. Embodiments of the present invention are comparable to new arithmetic circuits in calculators or to software modules acting on behalf of such circuits.

실시예Example #2( #2( 템플레이트template 제작) produce)

본 발명의 실시예는 프로세스가 팀버(timber)로부터 럼버(lumber)를, 옷, 가죽, 또는 플라스틱로부터 의류 패널들을 또는 금속 시트들, 바들, 또는 와이어로부터 다른 기계 부품들을, 또는 세분화된 재료로부터 일부 다른 제조 부품을 생성하든지에 관계없이, 재료에서 부품들을 잘라내기 위해 다른 기계에 의해 사용되거나 그 외 재료의 일부 프로세싱을 프로덕트의 구성요소들로 가이딩하기 위해 기계에 의해 사용되는 템플레이트들을 렌더링하는 디바이스 또는 자동화된 프로세스이다. An embodiment of the present invention is a process in which a process produces lumber from timber, clothing panels from clothing, leather, or plastic, or other machine parts from metal sheets, bars, or wire, or parts from a subdivided material. A device for rendering templates that are used by other machines to cut parts out of material, or otherwise used by machines to guide some processing of materials into components of a product, whether or not to create other manufactured parts or an automated process.

본 실시예의 기술적 효과는 과잉 계산 비용 없이 재료들의 최적 활용을 허용하는 템플레이트가 제공된다는 것이며, 이는 재료 및 계산 비용 양자의 낭비를 감소시킨다. 이러한 최적화는 통상적으로 렌더링될 부품들의 기하학적 요건을 나타내는 변수들 및 제약들을 사용하고 재고품의 특정한 부분으로부터 렌더링될 수 있는 부품들의 상이한 경제적 값들을 반영하는 제약들을 또한 포함할 수 있을 뿐 아니라, 본 발명의 본 실시예의 보존적 변형이 생성되는 가치 또는 재고품의 활용을 최대화하는 템플레이트의 생산을 강제할 수 있도록 제품의 가치 및 재료들의 활용을 요약하는 제약들을 포함한다. 제약들이 부품들의 상이한 가치들을 반영할 때, 추가적인 기술적 효과는 제품의 가치의 극대화이다.The technical effect of this embodiment is that a template is provided that allows optimal utilization of materials without excessive computational cost, which reduces waste of both materials and computational costs. This optimization uses variables and constraints that typically represent the geometrical requirements of the parts to be rendered and may also include constraints that reflect the different economic values of the parts that can be rendered from a particular portion of inventory, as well as the constraints of the present invention. Conservative variants of this embodiment include constraints that summarize the value of the product and the utilization of materials so that it can force the production of a template that maximizes the value created or utilization of the inventory. When constraints reflect different values of parts, an additional technological effect is maximization of the value of the product.

(Journal of Industrial Engineering International 2007 "The Trim Loss Concentration in One-Dimensional Cutting Stock Problem (1D-CSP) by Defining a Virtual Cost" Javanshir, H. 및 Shadalooee, M.;( Journal of Industrial Engineering International 2007 "The Trim Loss Concentration in One-Dimensional Cutting Stock Problem (1D-CSP) by Defining a Virtual Cost" Javanshir, H. and Shadalooee, M.;

Mathematics of Operational Research 2000 "A Near-Optimal Solution to a Two-Dimensional Cutting Stock problem" Kenyon, Claire 및

Figure 112016040516120-pct00002
, Eric 참조.) Mathematics of Operational Research 2000 "A Near-Optimal Solution to a Two-Dimensional Cutting Stock problem" by Kenyon, Claire and
Figure 112016040516120-pct00002
, see Eric.)

실시예Example #3(절단 기계 제어) #3 (Cutting Machine Control)

본 발명의 하나의 실시예는 기계에 의해 제공된 프로세스가 팀버로부터 럼버를, 럼버로부터 가구 부품들을, 옷, 가죽, 또는 플라스틱으로부터 패널들을, 또는 금속 시트들, 바들, 또는 와이어로부터 다른 기계 부품들을, 또는 세분화된 재료로부터 일부 다른 제조 부품을 절단하든지에 관계없이, 절단 기계, 드릴링 기계, 연삭 기계, 또는 재고품 재료로부터 부품들을 렌더링하는 다른 기계의 제어 메커니즘의 부분이다. One embodiment of the present invention is that a process provided by a machine produces lumber from timber, furniture parts from lumber, panels from clothing, leather, or plastic, or other machine parts from metal sheets, bars, or wire, Or part of the control mechanism of a cutting machine, drilling machine, grinding machine, or other machine that renders parts from off-the-shelf material, whether cutting some other manufactured part from subdivided material.

본 실시예의 기술적 효과는 과잉 계산 비용 없이 재료들의 최적 활용을 제공하는 드릴들 또는 절단면들의 제어이며, 이는 재료, 계산 비용, 및 총 절단 시간의 낭비를 감소시킨다. 이러한 최적화는 통상적으로 렌더링된 부품들의 기하학적 요건을 나타내는 변수들 및 제약들을 사용하고 재고품의 특정한 부분으로부터 렌더링될 수 있는 부품들의 상이한 경제적 가치들을 나타내는 제약들을 또한 포함할 수 있을 뿐 아니라, 본 발명의 본 실시예의 보존적 변형이 생성되는 가치 또는 재고품의 활용을 최대화하는 부품들의 렌더링을 강제할 수 있도록 제품의 가치 및 재료들의 활용을 요약하는 제약들을 포함한다. 제약들이 부품들의 상이한 가치들을 반영할 때, 추가적인 기술적 효과는 제품의 가치의 극대화이다.The technical effect of this embodiment is the control of the drills or cutting surfaces providing optimum utilization of materials without excessive calculation cost, which reduces waste of material, calculation cost, and total cutting time. This optimization uses variables and constraints that typically represent the geometrical requirements of rendered parts and may also include constraints that represent the different economic values of parts that can be rendered from a particular portion of inventory, as well as those of the present invention. Conservative variations of an embodiment include constraints that summarize the product's value and utilization of materials so that it can force rendering of parts that maximizes the value created or utilization of inventory. When constraints reflect different values of parts, an additional technological effect is maximization of the value of the product.

(전게서 Javanshir 및 Shadalooee; 전게서 Kenyon 및

Figure 112016040516120-pct00003
참조.) (Ibid Javanshir and Shadalooee; Ibid Kenyon and
Figure 112016040516120-pct00003
Reference.)

실시예Example #4(로봇 차량 제어) #4 (Robot Vehicle Control)

본 발명의 하나의 실시예는 차량이 이의 목적지들로의 편리한 경로들을 선택하게 하는, 로봇 차량의 제어 메커니즘의 부분이다. One embodiment of the invention is part of a control mechanism of a robotic vehicle, allowing the vehicle to select convenient routes to its destinations.

본 실시예의 기술적 효과는 차량을 구동하는 결정들을 하는 것과 연관되는 낭비-시간 및 계산 비용을 감소하면서, 이동 시간 또는 비용의 최소화하는 것이다. 이러한 최소화는 통상적으로 목적지들의 지리학적 위치들, 다양항 위치 간 지리학적 경로, 및 다양한 경로 세그먼트와 연관된 물리적 또는 경제적 장애들을 나타내는 변수들 및 제약들, 또한 본 발명의 본 실시예의 보존형 변형이 최소 이동 시간 또는 비용을 갖는 경로의 선택을 강제할 수 있도록 물리적 및 경제적 장애들을 요약하는 제약들을 사용한다.The technical effect of this embodiment is to minimize travel time or cost, while reducing the wasted-time and computational cost associated with making decisions to drive a vehicle. Such minimization typically involves variables and constraints indicative of the geographic locations of destinations, geographic routes between various locations, and physical or economic obstacles associated with various route segments, as well as conservative variations of this embodiment of the present invention to a minimum. Constraints that summarize physical and economic obstacles are used to force the choice of a route with travel time or cost.

(International Journal of Robotics Research 2005 "Coordinating Multiple Robots with Kinodynamic Constraints along Specified Paths" Peng, Jufeng 및 Akella, Srinivas 참조.)(See International Journal of Robotics Research 2005 "Coordinating Multiple Robots with Kinodynamic Constraints along Specified Paths" Peng, Jufeng and Akella, Srinivas.)

실시예Example #5(데이터 압축) #5 (Data Compression)

본 발명의 하나의 실시예는 데이터가 텍스트, 이미지, 오디오 메시지, 비디오 레코딩, 실행 가능한 바이너리, 또는 정보의 일부 다른 암호화된 또는 비-암호화된 유닛을 나타내는지에 관계없이, 데이터가 디지털이든 아날로그 데이터의 푸리에 분해 또는 대수적 분해로서 표현될 수 있든지에 관계없이, 데이터를 압축하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention provides that the data is digital or of analog data, whether the data represents text, images, audio messages, video recordings, executable binary, or some other encrypted or non-encrypted unit of information. A device or automated process that compresses data, whether expressed as a Fourier decomposition or an algebraic decomposition.

본 실시예의 기술적 효과는 압축을 생성하는 계산 비용에 관한 정보의 유닛에 대한 압축 효과의 최적화이다. 이러한 최적화는 통상적으로 정보를 압축 해제하는데 요구되는 경과 시간에 대한 선호들을 나타내는 변수들 및 제약들 및 압축을 위한 다양한 전략의 압축 혜택들 및 계산 비용을 반영하는 제약들, 또한 본 발명의 본 실시예의 보존형 변형이 최적으로 압축된 결과를 강제할 수 있도록 압축의 요약을 나타내는 제약들을 사용한다.The technical effect of the present embodiment is optimization of the compression effect for a unit of information about the computational cost of generating compression. Such optimization typically involves variables and constraints indicative of preferences for the elapsed time required to decompress information and constraints reflecting the compression benefits and computational cost of various strategies for compression, as well as constraints in this embodiment of the present invention. Constraints that represent a summary of compression are used so that conservative transformations can force optimally compressed results.

(Proceedings of the International Conference on Image Processing 1997“Optimal Fractal Coding is NP-Hard” Ruhl, Matthias 및 Hartenstein, Hannes 참조.)(See Proceedings of the International Conference on Image Processing 1997 “Optimal Fractal Coding is NP-Hard” Ruhl, Matthias and Hartenstein, Hannes.)

실시예Example #6(단백질 설계) #6 (Protein Design)

본 발명의 하나의 실시예는 주어진 기하학적 구조에 따르는 아미노산의 시퀀스를 제공하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention is a device or automated process that provides a sequence of amino acids according to a given geometry.

본 실시예의 기술적 효과는 주문형 단백질 또는 주문형 단백질의 모델들의 생성과 연관된 시간 및 계산 비용의 감소 및 설계자들의 대기-시간의 감소이다. 그러한 디바이스 또는 자동화된 프로세스는 통상적으로 그러한 제한들이 수소 결합, 이온적 상호 작용, 반데르발스 힘, 또는 소수성 패킹, 또는 다른 공지되거나 예상된 화학 속성들 또는 환경 조건들이든지에 관계없이, 펩타이드에서의 아미노산 위치 결정에 대한 화학적 제한들을 나타내는 변수들 및 제약들, 또한 본 발명의 본 실시예의 동적 변형이 아미노산의 적합 시퀀스를 생성할 수 있도록 단백질의 바람직한 3-차원 형상을 반영하는 제약들을 사용한다.The technical effect of this embodiment is a reduction in the time and computational cost associated with the creation of a protein-on-demand or models of a protein-on-demand, and a reduction in the waiting-time of designers. Such devices or automated processes are typically used in peptides, regardless of whether such limitations are hydrogen bonding, ionic interactions, van der Waals forces, or hydrophobic packing, or other known or expected chemical properties or environmental conditions. Use variables and constraints that represent chemical constraints on amino acid positioning, as well as constraints that reflect the desired three-dimensional shape of the protein so that the dynamic modification of this embodiment of the invention can produce a conforming sequence of amino acids.

(Protein Engineering 2002 “Protein Design is NP-Hard” Pierce, Niles A. 및 Winfree, Erik 참조.)(See Protein Engineering 2002 “Protein Design is NP-Hard” Pierce, Niles A. and Winfree, Erik.)

실시예 #7(전기통신 트래픽 라우팅)Example #7 (Telecommunication Traffic Routing)

본 발명의 하나의 실시예는 네트워크 혼잡에서 메시지들을 라우팅함으로써 비용에 관한 전기통신 네트워크의 유틸리티를 최적화하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention is a device or automated process for optimizing the utility of a telecommunication network with respect to cost by routing messages in network congestion.

본 실시예의 기술적 효과는 해당 유틸리티를 제공하는 것과 연관된 계산 비용을 절감하고 대기-시간을 감소하면서 기존 전기통신 네트워크의 메시지 라우팅 성능의 유틸리티의 최적화하는 것이다. 이러한 최적화는 통상적으로 전기통신 네트워크의 토폴로지, 네트워크에 대한 혼잡의 측정, 전송될 메시지들의 실용적 가치, 및 네트워크의 다양한 세그먼트에 걸친 사용 및 전송 속도의 다양한 비용을 나타내는 변수들 및 제약들을 사용하고, 또한 본 발명의 본 실시예의 보존적 변형이 메시지 로드를 위한 최적의 라우팅을 강제할 수 있도록 비용 및 유틸리티를 요약하는 제약들을 사용한다.The technical effect of this embodiment is to optimize the utility of the message routing performance of the existing telecommunication network while reducing the latency and reducing the computational cost associated with providing the utility. This optimization typically uses variables and constraints that represent the topology of a telecommunication network, a measure of congestion for the network, the practical value of messages to be transmitted, and varying costs of usage and transmission speed across various segments of the network, and also A conservative variant of this embodiment of the present invention uses constraints that summarize cost and utility so that it can enforce optimal routing for message load.

(Proceedings of the 12 th International Teletraffic Congress 1988 “Dynamic Alternative Routing Modelling and Behaviour” Gibbens, R.J. 참조.)(See Proceedings of the 12 th International Teletraffic Congress 1988 “Dynamic Alternative Routing Modeling and Behavior” Gibbens, RJ et al .)

실시예 #8(파장 분할 멀티캐스팅 트래픽 그루밍)Example #8 (Wavelength Division Multicasting Traffic Grooming)

본 발명의 하나의 실시예는 하드웨어 비용 또는 차단율에 대해 최적인 각 파이버에 대한 다수의 추가/분지 다중화기(ADM) 및 파장들의 리스트로 구성되는 ADM 설치 플랜을 생성하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention is a device or automated process that generates an ADM installation plan consisting of a list of wavelengths and multiple Add/Branch Multiplexers (ADMs) for each fiber that are optimal for hardware cost or blocking rate.

본 실시예의 기술적 효과는 다수의 ADM 및 파장들의 리스트의 생성을 야기하는 최적화를 수행하는 것과 연관된 계산 비용을 절감하면서, 네트워크를 구성하고 유지하는 비용 또는 트래픽-차단 상태에 이르는 확률을 최소화하도록 WDM 네트워크를 최적화하는 것이다. 이러한 최적화는 통상적으로 전송 채널의 이용 가능한 대역폭, 광, ADM들, 및 네트워크의 다른 구성요소들의 비용, 및 최대한 가능한 대로 예상된 트래픽 수요를 나타내는 변수들 및 제약들, 또한 본 발명의 본 실시예의 보존형 변형이 비용 또는 차단율을 최소화하는 ADM 설치 플랜을 강제할 수 있도록 비용 또는 차단율을 요약하는 제약들을 사용한다.The technical effect of this embodiment is to minimize the cost of constructing and maintaining the network or the probability of reaching a traffic-blocking state, while reducing the computational cost associated with performing the optimization resulting in generation of a list of multiple ADMs and wavelengths. is to optimize This optimization typically involves the preservation of the available bandwidth of the transport channel, the cost of optical, ADMs, and other components of the network, and, to the greatest extent possible, the variables and constraints that represent the expected traffic demand, as well as the preservation of this embodiment of the present invention. Constraints are used to summarize the cost or block rate so that the type variant can enforce an ADM installation plan that minimizes the cost or block rate.

(Global Telecommunications Conference 2007 “Multi-layer Network Design with Multicast Traffic and Statistical Multiplexing” Capone, Antonio 참조.)(See Global Telecommunications Conference 2007 “Multi-layer Network Design with Multicast Traffic and Statistical Multiplexing” Capone, Antonio et al .)

실시예 #9(위성 배치)Example #9 (Satellite Deployment)

본 발명의 하나의 실시예는 통신 간섭 및 충돌의 가능성을 최소화하면서 서비스 아크 요건을 충족시키는 궤도 위성들의 집합에 대한 배치 규격을 생성하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention is a device or automated process that creates a deployment specification for a set of orbiting satellites that meets service arc requirements while minimizing the likelihood of communication interference and collisions.

본 실시예의 기술적 효과는 최적화를 수행하는 것과 연관된 계산 비용을 절감하면서, 통신 간섭에 의해 야기되는 서비스의 저하 및 파괴의 위험의 조합으로 구성된 최소화된 비용을 제공하는 위성들의 배치를 최적화하는 것이다. 이러한 최적화는 통상적으로 궤도 역학, 위성들의 집합이 배치될 수 있는 쉘, 기존 위성들 및 잔해들의 궤도들, 기지국들 및 위성들의 각각의 서비스 아크들의 값을 정의하는 다른 표면 객체들의 위치들, 및 쉘에서의 다양한 위치에 대한 위치 결정 비용을 나타내는 변수들 및 제약들, 또한 본 발명의 본 실시예의 보존형 변형이 최적의 배치 규격의 생성을 강제할 수 있도록 배치 규격의 값 및 비용을 요약하는 제약들을 사용한다.The technical effect of the present embodiment is to optimize the deployment of satellites providing a minimized cost consisting of a combination of the risk of degradation and destruction of service caused by communication interference, while reducing the computational cost associated with performing the optimization. This optimization typically involves orbital dynamics, the shell in which a set of satellites can be deployed, the orbits of existing satellites and debris, the positions of base stations and other surface objects that define the values of the respective service arcs of the satellites, and the shell Variables and constraints indicative of the location cost for various locations in use.

(Operations Research Spektrum 1991 “Modeling the satellite placement problem as a network flow problem with one side constraint”

Figure 112016040516120-pct00004
, Susan B. 및 Liebling, Thomas M. 참조.)( Operations Research Spektrum 1991 “Modeling the satellite placement problem as a network flow problem with one side constraint”
Figure 112016040516120-pct00004
, Susan B. and Liebling, Thomas M.)

실시예 #10(구성요소 설계)Example #10 (Component Design)

본 발명의 하나의 실시예는 그러한 구성요소들이 구조적 트러스들, 잠수한 프로펠러들, 전기 배터리들, 또는 구성요소의 임의의 다른 유형이든지에 관계없이, 필수 물리적 규격들을 충족하는 구성요소들을 제조하는데 요구되는 재료들 및 노동의 비용을 최소화하는 구성요소 설계를 생성하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention requires manufacturing components that meet essential physical specifications, whether those components are structural trusses, submersible propellers, electric batteries, or any other type of component. It is a device or automated process that creates a component design that minimizes the cost of materials and labor.

본 실시예의 기술적 효과는 그러한 최소화를 생성하는 것과 연관된 계산 비용을 절감하면서 그리고 구성요소 설계자들의 대기-시간을 감소하면서, 물리적 구성요소들의 제조 비용을 최소화하는 것이다. 이러한 최적화는 통상적으로 구성요소들의 물리적 요건들의 규격들, 구성요소 및 이들의 재고 규격들을 구성하는데 사용될 수 있는 이용 가능한 재료들, 재료들 및 이들의 구성의 유형들이 구성요소의 물리적 속성들에 어떻게 영향을 미치는지를 결정하는 관계들, 및 재고 재료를 부품들로 변경하는 것 및 이들을 조립하는 것의 비용을 나타내는 변수들 및 제약들, 또한 본 발명의 본 실시예의 보존형 변형이 제조 비용을 최소화하는 설계를 강제할 수 있도록 비용을 요약하는 제약들을 사용한다.The technical effect of this embodiment is to minimize the manufacturing cost of physical components, while reducing the computational cost associated with creating such a minimization and reducing the wait-time of component designers. This optimization typically involves specifications of the physical requirements of the components, available materials that may be used to construct the component and its inventory specifications, how types of materials and their construction affect the physical properties of the component. Relationships that determine whether Use constraints that summarize costs to be enforceable.

(Computer Assisted Mechanics and Engineering Sciences 2000 “Optimization of mechanical structures using interval analysis” Pownuk, Andrzej 참조.)(See Computer Assisted Mechanics and Engineering Sciences 2000 “Optimization of mechanical structures using interval analysis” Pownuk, Andrzej.)

실시예 #11(암호 해독)Example #11 (Decryption)

본 발명의 하나의 실시예는 데이터를 암호화하는데 사용되었던 복합적 팩터들을 발견하거나 해시들을 반전시키는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention is a device or automated process that inverts hashes or discovers complex factors that were used to encrypt data.

본 실시예의 기술적 효과는 이러한 분해를 생성하는 것과 연관된 계산 비용을 절감하면서, 암호문을 평문으로 분해하는 것이다. 그러한 디바이스 또는 자동화된 프로세스는 통상적으로 암호문을 나타낼뿐만 아니라 본 발명의 본 실시예의 동적 변형이 평문을 생성할 수 있도록 암호문을 생성하기 위해 평문에 적용되었던 또는 적용되었을 수 있었던 공지되거나 예상되는 암호화 알고리즘들을 나타내는 변수들 및 제약들을 사용한다.The technical effect of the present embodiment is to decompose the ciphertext into plaintext, while reducing the computational cost associated with generating such decomposition. Such a device or automated process typically represents the ciphertext as well as known or contemplated encryption algorithms that have been or may have been applied to the plaintext to generate the ciphertext such that the dynamic transformation of this embodiment of the present invention can generate the plaintext. Use variables and constraints to indicate.

(Mathematics of Computation 1991 “Generation of Elements with Small Modular Squares and Provably Fast Integer Factoring Algorithms”

Figure 112016040516120-pct00005
, Brigitte 참조.)( Mathematics of Computation 1991 “Generation of Elements with Small Modular Squares and Provably Fast Integer Factoring Algorithms”
Figure 112016040516120-pct00005
, see Brigitte.)

실시예 #12(CPU 작업 스케줄링)Example #12 (CPU Job Scheduling)

본 발명의 하나의 실시예는 주어진 작업 부하하 CPU의 처리량 또는 반응성을 최대화하거나 에너지 사용을 최소화하는 컴퓨터의 중앙 처리 장치(CPU)에 의해 프로세싱될 작업들의 스케줄을 생성하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention is a device or automated process that creates a schedule of tasks to be processed by a central processing unit (CPU) of a computer that maximizes the throughput or responsiveness of the CPU or minimizes energy usage under a given workload.

본 실시예의 기술적 효과는 스케줄을 생성하는 것과 연관된 계산 비용을 절감하면서, CPU의 처리량 또는 반응성을 최대화하거나 에너지 사용을 최소화하여, 결과적으로 CPU의 처리량 또는 반응성에 대한 추가적인 개선을 제공하는 것이다. 그러한 디바이스 또는 자동화된 프로세스는 통상적으로 실행될 작업 및 이들의 긴급성, 작업들의 하위-단계들 및 이들의 순서, 각 하위-단계에 대해 요구되는 자원들, 및 CPU가 이용 가능한 자원들을 나타내는 변수들 및 제약들을, 또한 본 발명의 본 실시예의 보존적 변형이 CPU의 처리량 또는 반응성을 최대화하거나 에너지 사용을 최소화하게 강제할 수 있도록 작업들의 스케줄을 실행할 때 CPU의 반응성 또는 처리량을 반영하는 측정 또는 사용되는 에너지를 요약하는 제약들을 사용한다.The technical effect of the present embodiment is to maximize the throughput or responsiveness of the CPU or minimize the energy use, while reducing the computational cost associated with creating the schedule, and consequently provide a further improvement in the throughput or responsiveness of the CPU. Such a device or automated process typically includes variables representing the tasks to be executed and their urgency, the sub-steps of the tasks and their order, the resources required for each sub-step, and the resources available to the CPU and Energy used or measured reflects the responsiveness or throughput of the CPU when executing a schedule of tasks such that constraints may also be enforced to maximize the throughput or responsiveness of the CPU or to minimize the energy use of this embodiment of the present invention. Use constraints that summarize

(Real-Time Systems Symposium 1990 “Preemptively Scheduling Hard-Real-Time Sporadic Tasks on One Processor” Baruah, Sanjoy K. 참조.)(See Real-Time Systems Symposium 1990 “Preemptively Scheduling Hard-Real-Time Sporadic Tasks on One Processor” Baruah, Sanjoy K.)

실시예 #13(IC 테스트 버스 개발)Example #13 (IC Test Bus Development)

본 발명의 하나의 실시예는 테스트 버스를 포함하는 시스템-온-칩(SOC) 또는 다른 복합 직접-회로 칩(IC)에 대한 온-칩 테스트 액세스 아키텍처 또는 테스트 액세스 메터니즘(TAM)에 대한 설계를 생성하는 디바이스 또는 자동화된 프로세스이며, 여기서 이러한 설계는 테스트 버스들에 대한 코어들의 할당, 테스트 버스들 및 이들의 하위 구분들의 폭들, 및 테스트들의 스케줄을 포함한다.One embodiment of the present invention is a design for an on-chip test access architecture or test access mechanism (TAM) to a system-on-chip (SOC) or other complex integrated-circuit chip (IC) including a test bus. A device or automated process that creates a , wherein this design includes the assignment of cores to test buses, the widths of the test buses and their subdivisions, and the schedule of tests.

본 실시예의 기술적 효과는 최적화를 수행하는 것과 연관된 계산 비용을 절감하면서, 테스트 버스의 구성 비용에 관한 테스팅 유틸리티 가치의 최대화를 제공하는 테스트 버스의 최적화이다. 이러한 최적화는 통상적으로 코어들 및 이들의 입력 핀들, 요구되는 다양한 테스트 및 이들의 코어 핀 액세스 요건들, 다양한 테스트를 완료할 시간들, 감소된 테스팅 시간의 가치, 및 테스트 버스 폭들을 증가시키는 비용을 나타내는 변수들 및 제약들, 또한 본 발명의 본 실시예의 보존적 변형이 테스트 버스의 구성 비용에 관한 테스팅 유틸리티 가치의 최적화를 강제할 수 있도록 버스들을 구성하는 비용 및 테스트들의 스케줄에 의해 요구되는 테스팅 시간의 가치를 요약하는 제약들을 사용한다.The technical effect of this embodiment is the optimization of the test bus, which provides the maximization of the testing utility value with respect to the configuration cost of the test bus, while reducing the computational cost associated with performing the optimization. This optimization typically reduces the cost of increasing the cores and their input pins, the various tests required and their core pin access requirements, the time to complete the various tests, the value of reduced testing time, and the cost of increasing the test bus widths. The variables and constraints indicated, also the testing time required by the schedule of tests and the cost of configuring the buses so that a conservative variant of this embodiment of the present invention can force optimization of the testing utility value with respect to the configuration cost of the test bus. Use constraints that summarize the value of

(ACM Transactions on Design Automation of Electronic Systems 2001 “Optimal Test Access Architectures for System-on-a-Chip” Chakrabarty, Krishnendu 참조.)(See ACM Transactions on Design Automation of Electronic Systems 2001 “Optimal Test Access Architectures for System-on-a-Chip” Chakrabarty, Krishnendu.)

실시예 #14(IC 회로 분할, 평면 배치 기법, & 배치)Example #14 (IC Circuit Division, Planar Placement Technique, & Placement)

본 발명의 하나의 실시예는 논리적으로 정의된 복합 거동을 IC의 부분으로서 위치 결정하기에 적합한 다수의 모듈, 회로 코어, 셀, 또는 블록으로 분리하는 회로 레이아웃을 생성하는 디바이스 또는 자동화된 프로세스이며, 여기서 레이아웃은 크기 제한들 또는 결과적으로 원하는 제한들 내에 있는 회로 지연을 제공할 수 있는 회로 코어들, 셀들, 또는 블록들 간 상호 연결부들의 수 또는 크기에 대한 제한들을 충족시킨다.One embodiment of the present invention is a device or automated process that creates a circuit layout that separates logically defined complex behavior into a plurality of modules, circuit cores, cells, or blocks suitable for positioning as part of an IC, The layout here satisfies limitations on the number or size of interconnections between circuit cores, cells, or blocks that can provide size constraints or consequently circuit delay that is within desired limits.

본 실시예의 기술적 효과는 회로 레이아웃을 생성하는 것과 연관된 계산 비용을 절감하면서, 크기 및 회로 지연 제한들을 충족시키는 회로의 분할이다. 그러한 디바이스 또는 자동화된 프로세스는 통상적으로 본 발명의 본 실시예의 동적 변형이 충족 레이아웃을 생성할 수 있도록 칩의 기하학적 구조 및 다양한 전기 효과에 의해 야기되는 다양한 서브-회로 구성요소의 병치에 대한 제한들, 분할 크기들 및 회로 지연들에 대한 제한들, 및 회로 레이아웃의 크기들 및 지연들의 요약을 포함하여, 회로의 논리적 거동, 개별적인 논리적 거동들의 하위-회로들로의 가능한 전환들, 다양한 하위-회로들의 크기 및 회로 지연들을 나타내는 변수들 및 제약들을 사용한다. 그러한 디바이스 또는 자동화된 프로세스에 의해 사용되는 제약들은 본 발명의 본 실시예의 보존적 변형이 균형의 최적화를 제공하는 회로 레이아웃을 강제할 수 있도록 비용 및 성능 간 균형을 제공하는 구성 및 제조법의 비용을 또한 나타낼 수 있다.The technical effect of this embodiment is the division of the circuit that meets size and circuit delay limitations, while reducing the computational cost associated with generating the circuit layout. Such devices or automated processes typically have limitations on the juxtaposition of various sub-circuit components caused by the various electrical effects and the geometry of the chip such that the dynamic deformation of this embodiment of the present invention can create a satisfying layout; The logical behavior of a circuit, possible conversions of individual logical behaviors into sub-circuits, of the various sub-circuits, including restrictions on division sizes and circuit delays, and a summary of the sizes and delays of the circuit layout. Variables and constraints are used to indicate magnitude and circuit delays. Constraints used by such devices or automated processes also affect the cost of construction and manufacturing methods that provide a balance between cost and performance so that conservative variations of this embodiment of the invention can enforce a circuit layout that provides for an optimization of the balance. can indicate

(VLSI Physical Design: from Graph Partitioning to Timing Closure 2011 Kahng, Andrew B 참조.)(See VLSI Physical Design: from Graph Partitioning to Timing Closure 2011 Kahng, Andrew B et al .)

실시예 #15(IC 전력, 접지, 클록, & 네트리스트 라우팅)Example #15 (IC Power, Ground, Clock, & Netlist Routing)

본 발명의 하나의 실시예는 배선도가 IC의 다양한 코어, 셀, 또는 블록에 대한 전력 핀들, 접지 핀들, 클록 신호 핀들, 또는 연결 입력 및 출력 핀들에 대한 라우팅을 포함하든지에 관계없이, IC에 대한 배선도를 생성하는 디바이스 또는 자동화된 프로세스이며, 여기서 배선도는 상호연결부들이 IC에 대해 이용가능한 공간을 초과하지 않고 IC에 대한 회로 지연 제한들이 위반되지 않도록 코어들, 셀들, 또는 블록들 간 상호연결부들의 길이 및 폭에 대한 제한들을 충족시킨다.One embodiment of the present invention provides a method for an IC, regardless of whether the wiring diagram includes routing to power pins, ground pins, clock signal pins, or connection input and output pins for various cores, cells, or blocks of the IC. A device or automated process for generating a wiring diagram, wherein the wiring diagram is the length of interconnects between cores, cells, or blocks such that the interconnects do not exceed the space available for the IC and circuit delay limits for the IC are not violated and width restrictions.

본 실시예의 기술적 효과는 배선도를 생성하는 것과 연관된 계산 비용을 절감하면서, 크기 및 회로 지연 제한들을 충족시키는 배선도의 생성이다. 그러한 디바이스 또는 자동화된 프로세스는 통상적으로 다양한 코어, 셀, 또는 블록 및 이들의 형상들 및 핀들, 다른 코어들, 셀들, 또는 블록들에 대한 필수 입력 핀들에의 각 코어, 셀, 또는 블록의 출력 핀들 간 연결들의 리스트, 코어, 셀, 또는 블록 입력 핀들에의 칩 입력 핀들의 연결들의 리스트, 칩 크기의 기하학적 구조 및 제조 프로세스들로 인한 상호연결부들의 크기들에 대한 제한들, 용량성 결합 또는 유도성 크로스-토크(inductive cross-talk)와 같은 전기 효과들로 인한 상호연결부들의 병치에 대한 제한들, 및 보통보다 폭이 넓은 상호연결부들 및 클로닝 모듈들과 같은 클록 클로저 기술들(clock closure techniques)을 구현하는 것에 대한 가능성을 나타내는 변수들 및 제약들, 또한 본 발명의 동적 변형이 공간 및 신호 지연 요건을 충족시키는 배선도를 강제할 수 있도록 코어들, 셀들, 또는 블록들에 의해 소비되는 공간 및 가능한 클록 회로들의 신호 지연을 요약하는 제약들을 사용한다. 그러한 디바이스 또는 자동화된 프로세스에 의해 통상적으로 사용되는 제약들은 본 발명의 본 실시예의 보존적 변형이 비용 및 성능 간 최적의 균형을 제공하는 배선도를 강제할 수 있도록 비용 및 성능 간 균형을 제공하는 구성 및 제조법의 비용을 또한 나타낼 수 있다.The technical effect of this embodiment is the generation of a wiring diagram that meets size and circuit delay limitations, while reducing the computational cost associated with generating the wiring diagram. Such a device or automated process typically involves the output pins of each core, cell, or block to the various core, cell, or block and their shapes and pins, the required input pins to other cores, cells, or blocks. List of interconnections, list of connections of chip input pins to core, cell, or block input pins, limitations on sizes of interconnects due to chip sized geometry and manufacturing processes, capacitive coupling or inductive Limitations on juxtaposition of interconnects due to electrical effects such as inductive cross-talk, and clock closure techniques such as wider interconnects and cloning modules Variables and constraints indicating the feasibility of implementing, as well as the space and possible clock consumed by cores, cells, or blocks such that a dynamic variant of the present invention can force a wiring diagram that meets the spatial and signal delay requirements. Constraints are used to summarize the signal delay of the circuits. Constraints commonly employed by such devices or automated processes include configurations and configurations that provide a balance between cost and performance such that conservative variations of this embodiment of the invention can enforce a wiring diagram that provides an optimal balance between cost and performance. The cost of the recipe may also be indicated.

(전게서 Kahng, Andrew B 참조.)(See Ibid Kahng, Andrew B et al.)

실시예 #16 (첨단 IC 제조)Example #16 (Advanced IC Manufacturing)

본 발명의 하나의 실시예는 크기 및 성능 요건들을 충족시키는 IC 제조에 대한 마스크들을 생성하는 디바이스 또는 자동화된 프로세스 및 거동 명세를 충족시키는 IC를 직접적으로 생산하기 위해 마스크들과 조합하여 적용되어야 하는 제조 프로세스의 리스트를이다.One embodiment of the present invention is a device that creates masks for IC manufacturing that meets size and performance requirements, or an automated process and manufacturing that must be applied in combination with masks to directly produce an IC that meets behavior specifications. is a list of processes.

본 실시예의 기술적 효과는 본 발명 없이도 이론적으로 가능하지만, 본 발명에 의해 제공되는 계산 비용 절감으로 인해 실현 가능하게 되는 매우 능률적인 IC 설계 프로세스이다. 그러한 디바이스 또는 자동화된 프로세스는 통상적으로 일반적으로 IC 제조에 대한 모든 기술 제한, 제안된 제조 설비에 대한 특정한 제한들, IC가 생성될 수 있는 다양한 기판 크기에 대한 기하학적 제한들, 마스크들이 증착, 제거, 패터닝, 또는 전기 속성들의 변형을 위한 것이든지에 관계없이, 마스크들 자체를 생성하기 위한 코딩 요건들, IC의 바람직한 기능적 거동, IC 거동에 대한 필수 테스트들, 동일한 기능적 거동을 제공하나 전기, 자기, 또는 신호 전파 속성들이 상이한 구성요소들의 다양한 구현들을 나타내는 변수들 및 제약들, 또한 본 발명의 동적 변형이 거동, 크기, 및 성능 요건들을 충족시키는 마스크들 및 프로세스 애플리케이션들의 생성을 강제할 수 있도록 IC의 크기 및 성능 특성들을 요약하는 제약들을 사용한다. 그러한 디바이스 또는 자동화된 프로세스에 의해 통상적으로 사용되는 제약들은 다양한 구성요소 구현의 비용, 다양한 규격 및 성능 범위들에 대한 IC의 예상되는 가치 및 시장 수요, 신규한 IC 제조 스타트-업의 비용, 또한 본 발명의 본 실시예의 보존적 변형이 예상되는 시장 가치 및 수요에 관해 IC의 비용을 최적화하는 마스크들 및 프로세스 애플리케이션들의 생성을 강제할 수 있도록 IC 설계의 비용 및 시작 가치를 요약하는 제약들을 또한 나타낼 수 있다.The technical effect of the present embodiment is a highly efficient IC design process that is theoretically possible without the present invention, but becomes feasible due to the computational cost reduction provided by the present invention. Such a device or automated process is typically subject to all technical limitations for IC manufacturing, certain limitations to the proposed manufacturing facility, geometric limitations to the various substrate sizes on which the IC can be produced, and the masks that are deposited, removed, Coding requirements to create the masks themselves, whether for patterning, or for modification of electrical properties, the desired functional behavior of the IC, the necessary tests for the behavior of the IC, provide the same functional behavior but with electrical, magnetic, or variables and constraints indicative of various implementations of components whose signal propagation properties differ, as well as of the IC so that the dynamic modification of the present invention may force the creation of masks and process applications that meet behavior, size, and performance requirements. Constraints are used to summarize size and performance characteristics. Constraints commonly used by such devices or automated processes include the cost of implementing the various components, the expected value and market demand of the IC for various specifications and performance ranges, the cost of a new IC manufacturing start-up, and also Constraints that summarize the cost and starting value of an IC design may also be presented such that a conservative variant of this embodiment of the invention may force the creation of masks and process applications that optimize the cost of the IC with respect to the expected market value and demand. have.

실시예 #17(제어 시스템 설계)Example #17 (Control System Design)

본 발명의 하나의 실시예는 원자로 제어 시스템, 또는 단접에 대한 제어 시스템, 또는 복합 프로세스를 제어하는 임의의 다른 시스템의 설계를 생성하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention is a device or automated process that creates a design of a nuclear reactor control system, or a control system for a junction, or any other system that controls a complex process.

본 실시예의 기술적 효과는 최적화를 초래하는 것과 연관된 계산 비용을 절감하면서 그리고 설계자들의 대기-시간을 절감하면서, 최적의 설계를 생성하는 것이다. 이러한 최적화는 통상적으로 이용 가능한 제어 요소들, 및 제어의 정확도에 대한 수용 가능한 허용 오차를 포함하여, 이들의 비용 및 효과들을 포함하는, 제어 문제의 특성을 나타내는 변수들 및 제약들, 또한 본 발명의 본 실시예의 보존적 변형이 비용 또는 정확성에 대해 최적화되는 설계를 강제할 수 있도록 비용 또는 정확성을 요약하는 제약들을 사용한다.The technical effect of this embodiment is to create an optimal design, while reducing the computational cost associated with bringing about the optimization and reducing the wait-time of designers. This optimization typically includes variables and constraints characterizing the control problem, including its costs and effects, including acceptable tolerances for available control elements, and accuracy of control, as well as variables and constraints of the present invention. Constraints that summarize cost or accuracy are used so that a conservative variant of this embodiment can force a design that is optimized for cost or accuracy.

(Unsolved Problems in Mathematical Systems and Control Theory 2009 Blondel, Vincent D. 및 Megretski, Alexandre eds. 참조.)(See Unsolved Problems in Mathematical Systems and Control Theory 2009 Blondel, Vincent D. and Megretski, Alexandre eds.)

실시예 #18(로봇 역 운동학)Example #18 (Robot Inverse Kinematics)

본 발명의 하나의 실시예는 로봇이 장애물들의 필드를 횡단하면서 명시된 위치를 달성하도록 이의 움직임을 안내하는 명령들의 집합을 생성하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention is a device or automated process that generates a set of instructions that guides a robot's movement to achieve a specified position while traversing a field of obstacles.

본 실시예의 기술적 효과는 명령들의 집합을 생성하는 것과 연관된 계산 비용을 절감하면서 그리고 명령들을 생산으로 이끄는 시간을 감소시키면서, 로봇 명령들의 집합을 생성하는 것이다. 그러한 디바이스 또는 자동화된 프로세스는 통상적으로 로봇의 위치 또는 치수들의 그 결과로 생긴 변화 및 각 모션의 비용을 포함하여, 원하는 목적지 위치, 피해야 할 장애물들의 치수들 및 위치들, 로봇의 치수들 및 시작 위치, 로봇의 가능한 모션들을 나타내는 변수들 및 제약들, 또한 본 발명의 본 실시예의 보존적 변형이 최소한의 비용을 가지고 원하는 목적지 위치를 달성하는 모션들을 야기하는 명령들의 집합을 강제할 수 있도록 모션의 비용을 요약하는 제약들을 사용한다.A technical effect of the present embodiment is to generate a set of robot instructions, while reducing the computational cost associated with generating the set of instructions and reducing the time leading to production of the instructions. Such a device or automated process typically includes the resulting change in position or dimensions of the robot and the cost of each motion, including the desired destination position, dimensions and positions of obstacles to be avoided, dimensions and starting position of the robot. , the variables and constraints indicative of the possible motions of the robot, and also the cost of motion so that a conservative variant of this embodiment of the present invention can force a set of instructions that cause motions to achieve a desired destination position with minimal cost. Use constraints that summarize

(ISMB 1994 “Geometric Problems in Molecular Biology and Robotics” Parsons, David 및 Canny, John 참조.)(See ISMB 1994 “Geometric Problems in Molecular Biology and Robotics” Parsons, David and Canny, John.)

실시예 #19(최적화 컴파일러)Example #19 (Optimizing Compiler)

본 발명의 하나의 실시예는 지원이 레지스터 할당, 명령 선택, 매크로 압축, 루프 최적화, 데이터 레이아웃 최적화, 코드 병렬화, 또는 임의의 다른 복합 번역 프로그램에 대한 것이든지에 관계없이, 소프트웨어 소스 코드를 기계 코드로 컴파일링하는 디바이스 또는 자동화된 프로세스이다.One embodiment of the present invention converts software source code into machine code, whether support is for register allocation, instruction selection, macro compression, loop optimization, data layout optimization, code parallelization, or any other complex translation program. It is a device or automated process that compiles to

본 실시예의 기술적 효과는 최적화와 연관된 계산 비용을 절감하면서 그리고 코드 개발자들의 대기-시간을 절감하면서, 공격적으로 최적화된 기계 코드를 생성하는 것이다. 이러한 최적화는 통상적으로 소스 코드, 이들의 크기들을 포함하여, 이용 가능한 레지스터들, 이들의 계산 비용 및 임의의 특정한 레지스터 할당들을 포함하여, 이용 가능한 연산들, 이들의 크기들 및 액세스의 계산 비용을 포함하여, 이용 가능한 유출 자원들, 및 소스 코드 명령들을 기계 명령들의 집합들에 매핑하는 타일링들을 나타내는 변수들 및 제약들, 또한 본 발명의 본 실시예의 보존적 변형이 소스 코드를 충족시키고 최소한의 계산 비용을 갖는 기계 코드의 생성을 강제할 수 있도록 계산 비용을 요약하는 제약들을 사용한다.The technical effect of the present embodiment is to generate aggressively optimized machine code, while reducing the computational cost associated with optimization and reducing the wait-time of code developers. This optimization typically involves the computational cost of available operations, their sizes and accesses, including source code, their sizes, available registers, their computational cost, and any particular register allocations. Thus, the available outgoing resources, and variables and constraints representing the tilings that map source code instructions to sets of machine instructions, also a conservative variant of this embodiment of the present invention satisfy the source code and minimize computational cost. Constraints summarizing the computational cost are used to force the generation of machine code with

(Parallel Processing Letters 1997 “Optimal and Near-Optimal Solutions for Hard Compilation Problems” Kremer, Ulrich;( Parallel Processing Letters 1997 “Optimal and Near-Optimal Solutions for Hard Compilation Problems” Kremer, Ulrich;

Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures 1997 “Optimal Weighted Loop Fusion for Parallel Programs” Megiddo, Nimrod 및 Sarkar, Vivek 참조.) Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures 1997 “Optimal Weighted Loop Fusion for Parallel Programs,” see Megiddo, Nimrod and Sarkar, Vivek.)

도 2를 참조하면, 본 발명의 일 실시예에 따라 구현되는 컴퓨터 시스템에 의해 수행되는 방법(200)의 흐름도가 도시된다. 방법(200)은 반대-단정 값 술어들에 빠른 반응을 보이는 함의의 우세한 경로들로 구성된 라이좀 네트워크에 의해 정의되는 근접 공간을 통해 모순들을 이동시킨다(도 2, 동작 202). 반대-단정들은 다른 단정들을 부정하는 값 술어들의 단정들이며, 이는 부정된 단정들의 우세한 경로들이 나머지 단정들의 우세한 경로들로부터 이동되게 한다. 나머지 단정들을 반대-단정들을 포함한다.2, a flow diagram of a method 200 performed by a computer system implemented in accordance with an embodiment of the present invention is shown. Method 200 moves contradictions through a proximal space defined by a lysomal network consisting of predominantly pathways of connotation that respond quickly to opposite-assert value predicates ( FIG. 2 , operation 202 ). Counter-assertions are assertions of value predicates that negate other assertions, which cause the dominant paths of the negated assertions to be shifted away from the dominant paths of the remaining assertions. The remaining assertions include counter-assertions.

또한 방법(200)은 반대-단정의 우세한 경로에 남아 있는 임의의 제약에서 모순을 생성하지 않는 반대-단정된 값 술어들을 생성한다(도 2, 동작 204). 또한 방법(200)은 함의의 우세한 경로들 및 모순들의 모션의 우세한 경로들을 나타내는 제1 데이터를 수집한다(도 2, 동작 206). 또한 방법(1700)은 모순들이 유효하게 추론된 불일치도 기록되지 않는 근접 공간에서의 위치들로 이동하도록 방향의 선택들을 통지하기 위해 제1 데이터를 사용한다(도 2, 동작 208). 또한 방법(200)은 디더링을 배제하는 방식으로 반대-단정될 항들 및 해결될 모순들을 선택한다(도 2, 동작 210).Method 200 also generates opposite-assert value predicates that do not create contradictions in any constraint remaining on the dominant path of the opposite-assert ( FIG. 2 , operation 204 ). Method 200 also collects first data indicative of dominant paths of connotation and dominant paths of motion of contradictions ( FIG. 2 , operation 206 ). The method 1700 also uses the first data to inform choices of direction such that contradictions move to locations in proximate space where no validly inferred inconsistency is recorded ( FIG. 2 , operation 208 ). The method 200 also selects the terms to be counter-asserted and the contradictions to be resolved in a manner that excludes dithering ( FIG. 2 , operation 210 ).

본 발명이 특정한 실시예들에 관해 위에서 설명되었지만, 앞서 언급한 실시예들이 단지 예시적인 것으로 제공되고, 본 발명의 범위를 제한하거나 정의하지 않는다는 것이 이해되어야 한다. 이하에 제한되지는 않으나 이하를 포함하는, 다양한 다른 실시예는 또한 청구항의 범위 내에 있다. 예를 들어, 본 출원에서 설명된 요소들 및 구성요소들은 추가적인 구성요소들로 더 분할되거나 동일한 기능들을 수행하기 위해 보다 적은 구성요소를 형성하기 위해 함께 조인될 수 있다.While the present invention has been described above with respect to specific embodiments, it is to be understood that the aforementioned embodiments are provided by way of example only and do not limit or define the scope of the invention. Various other embodiments, including but not limited to, are also within the scope of the claims. For example, elements and components described herein may be further divided into additional components or joined together to form fewer components to perform the same functions.

본 출원에서 설명된 기능들 중 임의의 기능은 그러한 기능들을 수행하기 위한 수단을 사용하여 구현될 수 있다. 그러한 수단은 이에 제한되지는 않으나, 이하에서 설명될 컴퓨터-관련 구성요소들과 같은, 본 출원에서 설명된 구성요소들 중 임의의 구성요소를 포함한다.Any of the functions described in this application may be implemented using means for performing such functions. Such means includes, but is not limited to, any of the components described herein, such as computer-related components described below.

위에서 설명된 기술들은 예를 들어, 하드웨어, 하나 이상의 컴퓨터-판독 가능 매체 상에 유형으로 저장된 하나 이상의 컴퓨터 프로그램, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 위에서 설명된 기술들은 다음 중 임의의 수의 임의의 조합을 포함하여 프로그램 가능 컴퓨터 상에서 실행하는(또는 그에 의해 실행 가능한) 하나 이상의 컴퓨터 프로그램으로 구현될 수 있다: 프로세서, 프로세서에 의해 판독 가능 및/또는 기록 가능한 저장 매체(예를 들어, 휘발성 및 비-휘발성 메모리 및/또는 저장 요소들을 포함함), 입력 디바이스, 및 출력 디바이스. 프로그램 코드는 설명되는 기능들을 수행하기 위해 입력 디바이스를 사용하여 입력을 입력시키기 위해 그리고 출력 디바이스를 사용하여 출력을 발생시키기 위해 적용될 수 있다.The techniques described above may be implemented in, for example, hardware, one or more computer programs tangibly stored on one or more computer-readable media, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs running on (or executable by) a programmable computer, including any combination of any number of: a processor, readable by the processor, and/or A recordable storage medium (including, for example, volatile and non-volatile memory and/or storage elements), an input device, and an output device. Program code may be applied to input input using the input device and to generate output using the output device to perform the functions described.

아래 청구항들의 범위 내의 각 컴퓨터 프로그램은 어셈블리 언어, 기계 언어, 고급 프로그래밍 언어, 또는 객체-지향 프로그래밍 언어와 같은, 임의의 프로그래밍 언어로 구현될 수 있다. 프로그래밍 언어는 예를 들어, 컴파일링되거나 해석된 프로그래밍 언어일 수 있다.Each computer program within the scope of the claims below may be implemented in any programming language, such as assembly language, machine language, high-level programming language, or object-oriented programming language. The programming language may be, for example, a compiled or interpreted programming language.

각 그러한 컴퓨터 프로그램은 컴퓨터 프로세서에 의해 실행하기 위한 기계-판독 가능 저장 디바이스에 유형으로 내장되는 컴퓨터 프로그램 제품으로 구현될 수 있다. 본 발명의 방법 단계들은 입력으로 작동하고 출력을 발생시킴으로써 본 발명의 기능들을 수행하기 위한 컴퓨터-판독 가능 매체 상에 유형으로 내장되는 프로그램을 실행하는 하나 이상의 컴퓨터 프로세서에 의해 수행될 수 있다. 적합한 프로세서들은 예로서, 범용 및 전용 마이크로프로세서들 양자를 포함한다. 일반적으로, 프로세서는 메모리(판독-전용 메모리 및/또는 랜덤 액세스 메모리)로부터 명령들 및 데이터를 수신 (판독)하고 메모리에 명령들 및 데이터를 기록 (저장)한다. 컴퓨터 프로그램 명령들 및 데이터를 유형으로 내장하기에 적합한 저장 디바이스들은 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들을 포함하는, 반도체 메모리 디바이스들과 같은, 비-휘발성 메모리; 내부 하드 디스크들 및 착탈식 디스크와 같은 자기 디스크들; 및 광-자기 디스크들, 및 CD-ROM들의 모든 형태를 포함한다. 앞서 언급한 내용 중 임의의 내용은 특별히 설계된 ASIC들(애플리케이션-특정 집적 회로들) 또는 FPGA들(필드-프로그램 가능 게이트 어레이들)에 의해 보충되거나 또는 이에 통합될 수 있다. 또한 컴퓨터는 일반적으로 내부 디스크(도시되지 않음) 또는 착탈실 디스크와 같은 비-일시적 컴퓨터-판독 가능 저장 매체로부터 프로그램들 및 데이터를 수신 (판독)하고, 이에 프로그램들 및 데이터를 기록 (저장)할 수 있다. 또한 이들 요소는 종래 데스크탑 또는 워크스테이션 컴퓨터뿐만 아니라 본 출원에서 설명된 방법들을 구현하는 컴퓨터 프로그램들을 실행하기에 적합한 다른 컴퓨터들에서 발견될 것이며, 이는 임의의 디지털 프린트 엔진 또는 마킹 엔진, 디스플레이 모니터, 또는 페이퍼, 필름, 디스플레이 스크린, 또는 다른 출력 매체 상에 컬러 또는 그레이 스케일 픽셀들을 생성할 수 있는 다른 래스터 출력 디바이스와 함께 사용될 수 있다.Each such computer program may be embodied as a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. The method steps of the present invention may be performed by one or more computer processors executing a program tangibly embodied on a computer-readable medium for performing the functions of the present invention by operating with inputs and generating outputs. Suitable processors include, by way of example, both general purpose and dedicated microprocessors. Generally, a processor receives (reads) instructions and data from memory (read-only memory and/or random access memory) and writes (stores) instructions and data to the memory. Storage devices suitable for tangibly embedding computer program instructions and data include, for example, non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; and magneto-optical disks, and all forms of CD-ROMs. Any of the foregoing may be supplemented by or incorporated into specially designed ASICs (application-specific integrated circuits) or FPGAs (field-programmable gate arrays). Computers also generally receive (read) programs and data from, and write (store) programs and data to, a non-transitory computer-readable storage medium, such as an internal disk (not shown) or a removable disk. can These elements may also be found in conventional desktop or workstation computers, as well as other computers suitable for running computer programs implementing the methods described herein, which may include any digital print engine or marking engine, display monitor, or It can be used with other raster output devices capable of producing color or gray scale pixels on paper, film, display screens, or other output media.

본 출원에서 개시된 임의의 데이터는 예를 들어, 비-일시적 컴퓨터-판독 가능 매체 상에 유형으로 저장된 하나 이상의 데이터 구조로 구현될 수 있다. 본 발명의 실시예들은 그러한 데이터 구조(들)로 그러한 데이터를 저장하고 그러한 데이터 구조(들)로부터 그러한 데이터를 판독할 수 있다.Any data disclosed herein may be embodied in one or more data structures stored tangibly on, for example, a non-transitory computer-readable medium. Embodiments of the present invention may store such data into and read such data from such data structure(s).

특정한 실시예들이 “결정하다”, “분석하다”, 및 “결론짓다”와 같은 정신적 행위들을 설명하기 위해 사용될 수 있는 언어와 유사할 수 있는 언어를 사용하여 본 출원에서 설명될 수 있지만, 그러한 언어는 단지 편리함을 위해 그리고 트랜지스터들, 논리 게이트들, 및 프로세서들과 같은, 물리적 구성요소들을 사용하여 본 발명의 실시예들에 의해 수행되는 물리적 행위들을 설명하기 위해 속기로서 사용된다. 따라서, 그러한 언어는 인간 또는 임의의 다른 생물의 정신에 의해 수행되는 임의의정신적 행위들을 나타내는 것이 아니라, 단지 물리적 구성요소들에 의해 수행되는 그러한 물리적 행위들을 나타내는 것으로 해석되어야 한다.Although certain embodiments may be described in this application using language that may be similar to language that may be used to describe mental actions such as “determine,” “analyze,” and “conclude,” such language is used merely for convenience and as a shorthand to describe physical actions performed by embodiments of the present invention using physical components, such as transistors, logic gates, and processors. Accordingly, such language should not be construed as denoting any mental acts performed by the mind of a human or any other creature, but merely as denoting those physical acts performed by the physical components.

유사하게, 특정한 실시예들이 “모순”, “변수”, 및 “제약”과 같은, 수학적 및 철학적 언어를 사용하여 본 출원에서 설명될 수 있지만, 그러한 언어는 단지 편리함을 위해 그리고 수학적이든, 철학적이든, 그 외 다른 것이든, 임의의 추상적 아이디어들이 아니라, 물리적 구성요소들 및 그러한 구성요소들에 의해 수행되는 물리적 행위들의 구체적인 물리적 속성들을 설명하기 위해 속기로서 사용된다. 따라서, 그러한 언어는 수학적이든, 철학적이든, 그 외 다른 것이든, 임의의 추상적 아이디어들이 아니라, 단지 물리적 구성요소들 및 그러한 구성요소들에 의해 수행되는 물리적 행위들의 그러한 물리적 속성들을 나타내는 것으로 해석되어야 한다.Similarly, although certain embodiments may be described in this application using mathematical and philosophical language, such as “contradiction,” “variable,” and “constraint,” such language is merely for convenience and whether mathematical or philosophical. , or otherwise, is used as a shorthand to describe the specific physical properties of physical components and the physical actions performed by them, rather than any abstract ideas. Accordingly, such language should not be construed as representing any abstract ideas, whether mathematical, philosophical, or otherwise, but merely as representing those physical properties of the physical components and the physical acts performed by those components. .

Claims (22)

NP 문제를 풀이하기 위해 적어도 하나의 컴퓨터 프로세서에 의해 수행되는 방법으로서,
값 술어들을 반대-단정하는 것에 반응하는 함의의 우세한 경로들로 구성되는 라이좀 네트워크(rhizomatic network)에 의해 정의되는 연접한 제약들의 근접 공간을 통해 개별적이고 점증적으로 제약들에서 모순들을 이동시키는 단계로서, 반대-단정들은 부정된 단정들의 상기 우세한 경로들이 나머지 단정들의 상기 우세한 경로들에서 제거되게 하는, 다른 단정들을 부정하는 값 술어들의 단정들이고, 상기 나머지 단정들은 상기 반대-단정들을 포함하며, 그렇게 함으로써 상기 반대-단정의 상기 우세한 경로에 남아 있는 임의의 제약에서의 모순을 형성하지 않는 반대-단정된 값 술어들을 생성하는, 상기 모순들을 이동시키는 단계;
함의의 상기 우세한 경로들 및 모순들의 모션의 상기 우세한 경로들을 나타내는 제1 데이터를 수집하는 단계;
상기 제1 데이터를 사용하여 모순들이 어떤 유효하게 추론된 불일치도 기록되지 않는 상기 근접 공간에서의 위치들로 이동하도록 방향의 선택들을 통지하는 단계; 및
디더링(dithering)을 배제하는 방식으로 반대-단정될 항들 및 해결될 모순들을 선택하는 단계를 포함하는, NP 문제를 풀이하기 위해 적어도 하나의 컴퓨터 프로세서에 의해 수행되는 방법.
A method performed by at least one computer processor for solving an NP problem, comprising:
Shifting contradictions in constraints individually and incrementally through the proximate space of contiguous constraints defined by a rhizomatic network consisting of predominant pathways of semantics responsive to counter-asserting value predicates. As , counter-assertions are assertions of value predicates that negate other assertions, such that the dominant paths of negated assertions are eliminated from the dominant paths of other assertions, the remaining assertions including the counter-assertions; shifting the contradictions, thereby creating opposite-asserted value predicates that do not form contradictions in any constraint remaining on the dominant path of the opposite-assert;
collecting first data representative of the dominant paths of connotation and the dominant paths of motion of contradictions;
notifying selections of a direction to move to locations in the proximal space where inconsistencies are not recorded for any validly inferred inconsistency using the first data; and
A method performed by at least one computer processor for solving a NP problem, comprising selecting terms to be counter-asserted and contradictions to be resolved in a manner that excludes dithering.
청구항 1에 있어서, 선택하는 단계는 각 가정에 대해 문제 표현에서의 제약의 하나의 횡단을 초과하는 디더링을 배제하는 방식으로 선택하는 단계를 포함하는, NP 문제를 풀이하기 위해 적어도 하나의 컴퓨터 프로세서에 의해 수행되는 방법.The at least one computer processor to solve the NP problem according to claim 1, wherein the step of selecting comprises, for each hypothesis, selecting in a manner that excludes dithering that exceeds one traverse of a constraint in the problem representation. how it is done. 청구항 1에 있어서, 상기 근접 공간을 통해 상기 모순들을 이동시키는 단계는 상기 근접 공간에서의 연접 위치들을 통해 상기 모순들을 이동시키는 단계를 포함하는, NP 문제를 풀이하기 위해 적어도 하나의 컴퓨터 프로세서에 의해 수행되는 방법.The method of claim 1 , wherein moving the contradictions through the proximal space comprises moving the contradictions through concatenated locations in the proximal space. how to be 청구항 1에 있어서,
제1 데이터는 상기 우세한 경로에서의 목적지들의 리스트, 및 원격 카운트들(farness counts) 및 접근 카운트 중 적어도 하나를 포함하고; 그리고
상기 반대-단정될 항들을 선택하는 단계는 최근접 목적지 방법(Nearest Destination method)에 따라 반대-단정될 항을 선택하는 단계를 포함하는, NP 문제를 풀이하기 위해 적어도 하나의 컴퓨터 프로세서에 의해 수행되는 방법.
The method according to claim 1,
first data includes a list of destinations in the predominant route, and at least one of farness counts and access counts; and
wherein the selecting the terms to be opposite-predicated comprises selecting the term to be opposite-predicated according to a nearest destination method, performed by at least one computer processor to solve the NP problem Way.
청구항 1에 있어서,
제1 데이터는 상기 우세한 경로에서의 목적지들의 리스트, 상기 우세한 경로에서의 조건부 우세한 단정들의 리스트, 및 원격 카운트들을 포함하고; 그리고
상기 반대-단정될 항들을 선택하는 단계는 가장 먼 역전 방법(Farthest Reversal method)에 따라 반대-단정될 항을 선택하는 단계를 포함하는, NP 문제를 풀이하기 위해 적어도 하나의 컴퓨터 프로세서에 의해 수행되는 방법.
The method according to claim 1,
first data includes a list of destinations in the dominant path, a list of conditionally dominant assertions in the dominant path, and remote counts; and
wherein the selecting the terms to be opposite-predicated comprises selecting the term to be opposite-predicated according to a Farthest Reversal method, performed by at least one computer processor to solve the NP problem. Way.
청구항 1 또는 3에 있어서,
상기 해결될 모순들을 선택하는 단계는 가장 최근에 해결된 모순의 제약에서의 항을 한정한 우세한 단정을 제공한 상기 제약을 점유하는 상기 모순을 선택하는 단계를 포함하는, NP 문제를 풀이하기 위해 적어도 하나의 컴퓨터 프로세서에 의해 수행되는 방법.
4. The method of claim 1 or 3,
wherein selecting the contradictions to be resolved comprises selecting the contradiction that occupies the constraint that provided a dominant assertion that defined a term in the most recently resolved contradiction constraint. A method performed by one computer processor.
컴퓨팅 디바이스로서,
비-일시적 메모리; 및
프로세서를 포함하고;
상기 비-일시적 메모리는 복수의 컴퓨터-판독 가능 명령을 나타내는 신호들을 포함하고; 그리고
상기 프로세서는 NP 문제를 풀이하기 위한 방법을 수행하기 위한 상기 복수의 컴퓨터-판독 가능 명령을 실행하도록 적응되며, 상기 방법은:
값 술어들을 반대-단정하는 것에 반응하는 함의의 우세한 경로들로 구성되는 라이좀 네트워크에 의해 정의되는 연접한 제약들의 근접 공간을 통해 개별적이고 점증적으로 제약들에서 모순들을 이동시키는 단계로서, 반대-단정들은 부정된 단정들의 상기 우세한 경로들이 나머지 단정들의 상기 우세한 경로들에서 제거되게 하는, 다른 단정들을 부정하는 값 술어들의 단정들이고, 상기 나머지 단정들은 상기 반대-단정들을 포함하며, 그렇게 함으로써 상기 반대-단정의 상기 우세한 경로에 남아 있는 임의의 제약에서의 모순을 형성하지 않는 반대-단정된 값 술어들을 생성하는, 상기 모순들을 이동시키는 단계;
함의의 상기 우세한 경로들 및 모순들의 모션의 상기 우세한 경로들을 나타내는 제1 데이터를 수집하는 단계;
상기 제1 데이터를 사용하여 모순들이 어떤 유효하게 추론된 불일치도 기록되지 않는 상기 근접 공간에서의 위치들로 이동하도록 방향의 선택들을 통지하는 단계; 및
디더링을 배제하는 방식으로 반대-단정될 항들 및 해결될 모순들을 선택하는 단계를 포함하는, 컴퓨팅 디바이스.
A computing device comprising:
non-transitory memory; and
a processor;
the non-transitory memory includes signals indicative of a plurality of computer-readable instructions; and
The processor is adapted to execute the plurality of computer-readable instructions for performing a method for solving a NP problem, the method comprising:
A step of shifting contradictions in constraints individually and incrementally through the proximate space of contiguous constraints defined by a lysomal network consisting of predominant pathways of connotation responsive to counter-asserting value predicates, wherein the opposing- Predicates are assertions of value predicates that negate other assertions, such that the dominant paths of negated assertions are removed from the dominant paths of other assertions, the remaining assertions including the counter-assertions, thereby causing the opposite- moving the contradictions to produce opposite-asserted value predicates that do not form contradictions in any constraint remaining in the prevailing path of assertion;
collecting first data representative of the dominant paths of connotation and the dominant paths of motion of contradictions;
notifying selections of a direction to move to locations in the proximal space where inconsistencies are not recorded for any validly inferred inconsistency using the first data; and
A computing device, comprising: selecting terms to be counter-assured and contradictions to be resolved in a manner that excludes dithering.
청구항 7에 있어서, 선택하는 단계는 각 가정에 대해 문제 표현에서의 제약의 하나의 횡단을 초과하는 디더링을 배제하는 방식으로 선택하는 단계를 포함하는, 컴퓨팅 디바이스8. The computing device of claim 7, wherein selecting comprises selecting for each hypothesis in a manner that excludes dithering more than one traverse of a constraint in the problem representation. 청구항 7에 있어서, 상기 근접 공간을 통해 상기 모순들을 이동시키는 단계는 상기 근접 공간에서의 연접 위치들을 통해 상기 모순들을 이동시키는 단계를 포함하는, 컴퓨팅 디바이스.The computing device of claim 7 , wherein moving the contradictions through the proximal space comprises moving the contradictions through concatenated locations in the proximate space. 청구항 7에 있어서,
제1 데이터는 상기 우세한 경로에서의 목적지들의 리스트, 및 원격 카운트들 및 접근 카운트 중 적어도 하나를 포함하고; 그리고
상기 반대-단정될 항들을 선택하는 단계는 최근접 목적지 방법에 따라 반대-단정될 항을 선택하는 단계를 포함하는, 컴퓨팅 디바이스.
8. The method of claim 7,
first data includes a list of destinations in the predominant route, and at least one of remote counts and access counts; and
wherein selecting the terms to be counter-asserted comprises selecting the term to be counter-asserted according to a nearest destination method.
청구항 7에 있어서,
제1 데이터는 상기 우세한 경로에서의 목적지들의 리스트, 상기 우세한 경로에서의 조건부 우세한 단정들의 리스트, 및 원격 카운트들을 포함하고; 그리고
상기 반대-단정될 항들을 선택하는 단계는 가장 먼 역전 방법에 따라 반대-단정될 항을 선택하는 단계를 포함하는, 컴퓨팅 디바이스.
8. The method of claim 7,
first data includes a list of destinations in the dominant path, a list of conditionally dominant assertions in the dominant path, and remote counts; and
wherein selecting the terms to be counter-asserted comprises selecting the term to be counter-asserted according to a furthest inversion method.
청구항 7 또는 10에 있어서,
상기 해결될 모순들을 선택하는 단계는 가장 최근에 해결된 모순의 제약에서의 항을 한정한 우세한 단정을 제공한 상기 제약을 점유하는 상기 모순을 선택하는 단계를 포함하는, 컴퓨팅 디바이스.
11. The method of claim 7 or 10,
wherein selecting the contradictions to be resolved comprises selecting the contradiction that occupies the constraint that provided a dominant assertion that defined a term in the most recently resolved contradiction constraint.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020167011170A 2014-03-25 2015-03-25 Solving np-complete problems without hyper-polynomial cost KR102341689B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461970291P 2014-03-25 2014-03-25
US61/970,291 2014-03-25
PCT/US2015/022377 WO2015148599A1 (en) 2014-03-25 2015-03-25 Solving np-complete problems without hyper polynomial cost

Publications (2)

Publication Number Publication Date
KR20160136270A KR20160136270A (en) 2016-11-29
KR102341689B1 true KR102341689B1 (en) 2021-12-20

Family

ID=54196327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167011170A KR102341689B1 (en) 2014-03-25 2015-03-25 Solving np-complete problems without hyper-polynomial cost

Country Status (10)

Country Link
EP (1) EP3123302A4 (en)
JP (1) JP6550384B2 (en)
KR (1) KR102341689B1 (en)
CN (1) CN105745618A (en)
AU (1) AU2015236144B2 (en)
CA (1) CA2943044C (en)
IL (1) IL247866B (en)
MY (1) MY184777A (en)
SG (1) SG11201606976PA (en)
WO (1) WO2015148599A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528868B2 (en) 2010-06-25 2020-01-07 Clayton Gillespie Solving NP-complete problems without hyper polynomial cost
WO2018086761A1 (en) * 2016-11-10 2018-05-17 Rowanalytics Ltd Control apparatus and method for processing data inputs in computing devices therefore
US11881287B2 (en) 2016-11-10 2024-01-23 Precisionlife Ltd Control apparatus and method for processing data inputs in computing devices therefore
WO2019017412A1 (en) * 2017-07-19 2019-01-24 国立大学法人横浜国立大学 Solution search device and program
US10503507B2 (en) 2017-08-31 2019-12-10 Nvidia Corporation Inline data inspection for workload simplification
CN111159631B (en) * 2019-12-31 2023-08-11 中国人民解放军国防科技大学 Hardware SAT solver based on programmable logic
CN117172473A (en) * 2023-09-04 2023-12-05 晞德求索(北京)科技有限公司 One-dimensional blanking method and device based on dynamic allocation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009097290A2 (en) * 2008-01-29 2009-08-06 Clayton Gillespie Data processing system for solving np problems without hyper-polynomial cost

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038392A (en) * 1998-05-27 2000-03-14 Nec Usa, Inc. Implementation of boolean satisfiability with non-chronological backtracking in reconfigurable hardware
US7356519B1 (en) * 2003-02-28 2008-04-08 Cadence Design Systems, Inc. Method and system for solving satisfiability problems
US7421419B2 (en) * 2005-04-12 2008-09-02 Viziant Corporation System and method for evidence accumulation and hypothesis generation
US8838659B2 (en) * 2007-10-04 2014-09-16 Amazon Technologies, Inc. Enhanced knowledge repository
US8577825B2 (en) * 2008-01-29 2013-11-05 Clayton Gillespie System, method and device for solving problems in NP without hyper-polynomial cost
CN101848229B (en) * 2009-03-24 2014-06-25 北京理工大学 Method for solving minimum generated network problem in distributed network computing
US8813007B2 (en) * 2009-04-17 2014-08-19 Synopsys, Inc. Automatic approximation of assumptions for formal property verification
US8369841B2 (en) * 2010-02-16 2013-02-05 Thaddeus John Kobylarz Invoke facility service and its applications to compound wireless mobile communication services
US9110882B2 (en) * 2010-05-14 2015-08-18 Amazon Technologies, Inc. Extracting structured knowledge from unstructured text
JP2012003733A (en) * 2010-06-12 2012-01-05 Koji Kobayashi Logical formula conversion program and sat solution program
CN102063643B (en) * 2010-12-13 2014-07-30 北京航空航天大学 Intelligent optimized simulation method based on DNA computation
US9141354B2 (en) * 2012-04-23 2015-09-22 Ecole polytechnique fédérale de Lausanne (EPFL) Advantageous state merging during symbolic analysis

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009097290A2 (en) * 2008-01-29 2009-08-06 Clayton Gillespie Data processing system for solving np problems without hyper-polynomial cost

Also Published As

Publication number Publication date
EP3123302A1 (en) 2017-02-01
CN105745618A (en) 2016-07-06
AU2015236144B2 (en) 2020-04-30
WO2015148599A1 (en) 2015-10-01
CA2943044A1 (en) 2015-10-01
KR20160136270A (en) 2016-11-29
CA2943044C (en) 2023-05-16
MY184777A (en) 2021-04-21
IL247866A0 (en) 2016-11-30
AU2015236144A1 (en) 2016-11-03
EP3123302A4 (en) 2017-12-20
IL247866B (en) 2021-05-31
JP2017513076A (en) 2017-05-25
JP6550384B2 (en) 2019-07-24
SG11201606976PA (en) 2016-09-29

Similar Documents

Publication Publication Date Title
KR102341689B1 (en) Solving np-complete problems without hyper-polynomial cost
Thomsen et al. A reversible processor architecture and its reversible logic design
Wolff et al. Optimal Control with Weighted Average Costs and Temporal Logic Specifications.
US20110161266A1 (en) System, method and device for solving problems in np without hyper-polynomial cost
US10528868B2 (en) Solving NP-complete problems without hyper polynomial cost
Thiers A model-based systems engineering methodology to make engineering analysis of discrete-event logistics systems more cost-accessible
Goudarzi et al. Design of a universal logic block for fault-tolerant realization of any logic operation in trapped-ion quantum circuits
Friedler et al. Approximation algorithm for the kinetic robust k-center problem
Takano Thinking machines: machine learning and its hardware implementation
Cardona et al. Partial satisfaction of signal temporal logic specifications for coordination of multi-robot systems
Gu Optimization algorithms for the satisfiability (SAT) problem
Mace et al. WRAD: Tool support for workflow resiliency analysis and design
Brik et al. Action language hybrid AL
Jobczyk et al. Dynamic epistemic preferential logic of action
Mirhosseini et al. A fast MILP solver for high-level synthesis based on heuristic model reduction and enhanced branch and bound algorithm
Neubauer Model-based symbolic design space exploration at the electronic system level: a systematic approach
Mamaghani et al. Asynchronous dataflow de-elastisation for efficient heterogeneous synthesis
Zhang et al. Logic programming with graded modality
Kwon Machine Learning for AI-Augmented Design Space Exploration of Computer Systems
Madeira et al. Bisimilarity and refinement for hybrid (ised) logics
Li et al. Parameterized hardware verification through a term-level generalized symbolic trajectory evaluation
Shah et al. Efficient Execution of Irregular Dataflow Graphs: Hardware/Software Co-optimization for Probabilistic AI and Sparse Linear Algebra
Thomas Developing Fpgas as an Acceleration Platform for Data-Intensive Applications
Feldman Software-Defined Hardware Without Sacrificing Performance
Devillers et al. Abstraction strategies for computing travelling or looping durations in networks of timed automata

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant