반통일(컴퓨터과학)

Anti-unification (computer science)

반통일이란 주어진 상징적 표현 두 개에 공통되는 일반화를 구축하는 과정이다.통일과 마찬가지로 어떤 표현(용어라고도 함)이 허용되는지, 어떤 표현이 동등하다고 생각되는지에 따라 몇 가지 틀이 구분된다.함수를 나타내는 변수가 표현으로 허용되면 그 과정을 "고차적 반통일", 그렇지 않으면 "1차적 반통일"이라고 한다.만약 일반화가 말 그대로 각 입력 표현과 동일한 예를 갖도록 요구된다면, 그 과정을 "합리적 반통일", 그렇지 않으면 "E-반통일" 또는 "반통일 모둘로 이론"이라고 부른다.

반통일 알고리즘은 주어진 표현식에 대해 완전하고 최소의 일반화 집합, 즉 모든 일반화를 포함하며 이중화 멤버를 포함하지 않는 집합을 각각 계산해야 한다.프레임워크에 따라, 완전하고 최소의 일반화 집합은 한 명, 정밀하게 많거나 또는 어쩌면 무한히 많은 회원을 가질 수도 있고, 아예 존재하지 않을 수도 있다.[note 1] 사소한 일반화가 어떤 경우에도 존재하기 때문에, 그것은 비어 있을 수 없다.고든 플롯킨은[1][2] 1차 구문론적 반통일성을 위해 이른바 '최소 일반화'(lgg)가 포함된 완전하고 최소의 싱글톤 일반화 세트를 계산하는 알고리즘을 부여했다.

반통일도 통일과 혼동해서는안 된다.후자는 주어진 불평등이 모두 충족되도록 변수에 대한 가치를 찾는 불평등 시스템을 해결하는 과정을 의미한다.[note 2]이 일은 일반화를 찾는 것과는 사뭇 다르다.

전제조건

형식적으로는 반통일적 접근이 전제된다.

  • 변수의 무한 집합 V.고차 반통일의 경우 람다-항행 변수 집합에서 V 분리를 선택하는 것이 편리하다.
  • VT와 같은 용어의 집합 T. 1차 및 고차 반통일에서 T는 보통 각각 1차 항(변수와 함수 기호로 작성된 항)과 람다 항(일부 고차 변수를 포함하는 항)의 집합이다.
  • 동등성 관계 어떤 항이 동등하다고 간주되는지 표시.고차 반통일성의 경우 으로t {\ tu {\u}이() 알파 등가인 경우 u {\이다.1차 E-반통일인 경우,{{\\}은(는) 특정 기능 기호에 대한 배경 지식을 반영한다. 예를 들어, }이 인수를 스와핑하여 t 에서 발생하는 경우 t }일부(모두 포함) 발생 시 {\oplus [note 3]}의 s.만약 배경지식이 전혀 없다면, 문자 그대로 또는 구문론적으로만 동일한 용어들이 동등한 것으로 간주된다.

1차 용어

변수 기호의 이(가) 설정된 경우 상수 의 C Cn {\n} -ary 함수 기호( 연산자 기호)의 를 각각 자연수 nnumber 의 집합에 대해 설정한다. (는) 다음 속성을 가진 최소 집합으로 재귀적으로 정의된다.[3]

  • 모든 변수 기호는 용어: VT,
  • 모든 상수 기호는 용어다: CT,
  • 모든 n 용어 t1, ..., t n 모든 n-ary 함수 기호 fF에서n … , n ) 를 작성할 수 있다.

예를 들어 xV가 변수 기호라면 1 ∈ C는 상수 기호, add F2 이항 함수 기호, x add T, 1 ∈ T, (hence) add add(x,1) ∈ T는 각각 제1항, 제2항, 제3항 건물 규칙으로 한다.후기는 대개 x+1로 표기하는데, 편의상 인픽스 표기법과 보다 일반적인 연산자 기호 +를 사용한다.

고차항

대체

A substitution is a mapping from variables to terms; the notation refers to a substitution mapping each variable to the term =1,… , k {\displaystyle 및 그 밖의 모든 변수를 위해 t Applying that substitution to a term t is written in postfix notation as ; it means to (simultaneously) replace every occurrence of each variable in the term t by .용어 t에 대체 σ을 적용하는 결과를 t인스턴스라고 한다.1차 예로서, 에 대체{ ( a, ), z b을(를) 적용한다.

f( x , a, g(). z (), y) 수확하다
f( h(a,y) , a, g(). b (), y) .

일반화, 전문화

용어{\ 과 동등한 인스턴스가 있는 경우, 즉, t 가) 일부 대체 u보다 일반적이라고 하며 u}은 led more special than, or subsumed by, . For example, is more general than if is commutative, since then

(가) 용어의 문자적(합성적) ID인 경우, 두 용어가 통사적 구조가 아닌 가변 이름만 다를 경우에만 용어가 다른 용어보다 더 일반적이고 더 특별할 수 있다. 이러한 용어를 변형 또는 상호 명칭 변경이라고 한다.For example, is a variant of , since and . However, is not a variant of , since no substitution can비록{ x , z x , y x \{mapsto },}\{2는 역방향으로 달성하지만, 후기는 한다.그러므로 후기는 전기에 비해 적절하게 더 특별하다.

A substitution is more special than, or subsumed by, a substitution if is more special than for each variable . For example, is more special than , since and is more special than and , respectively.

반통일 문제, 일반화 세트

반통일 문제는 terms 1, 의 한 쌍이다.A term is a common generalization, or anti-unifier, of and if and for some substitutions }} 주어진 반통일 문제에 대해, 일반화가 t S 을(를) 일부 용어로 요약하면 S S을(를) 완전체 부르고 구성원이 다른 용어로 요약하면 최소로 부른다.

1차 구문론 반통일

1차 구문론적 반통일성의 프레임워크는 1차 항(일부 지정된 변수 V{\}, C } F{\ T{\ 기초한다구문론적 평등 이 프레임워크에서 각 반통일 문제 ,t nangle }은는) 완전하고 명백하게 최소의 싱글톤 솔루션 세트{\{을(는 하며 그 멤버 t t일반화(lg)로 불리며, 인스턴스(l)가 있다.전술적으로 }와 같고 또 다른 하나는 구문론적으로 2{\2 1{\}와 t {\}}의 일반적인 는 t{\이다The lgg is unique up to variants: if and are both complete and minimal solution sets of the same syntactical anti-unification problem, then and for s 1 서로 이름을 바꾼다.

플롯킨은[1][2] 주어진 두 항의 lgg를 계산하는 알고리즘을 제공했다.주입식 맵핑 : × v 를 전제로 한다. 즉 두 쌍이 동일한 변수를 공유하지 않도록 고유한 변수 ,t 의 각 쌍 , s,t}을 할당하는 매핑.[note 4] 알고리즘은 다음 두 가지 규칙으로 구성된다.

이전 규칙이 적용되지 않는 경우

For example, ; this least general generalization reflects the common property of both inputs of being square numbers.

플롯킨은 자신의 알고리즘을 사용하여 1차 논리학에서 두 절 세트의 "상대적 최소 일반화(rlgg)"를 계산했는데, 이것이 귀납 논리 프로그래밍에 대한 골렘 접근법의 기초였다.

1차 반통일모듈론

  • Jacobsen, Erik (Jun 1991), Unification and Anti-Unification (PDF), Technical Report
  • Østvold, Bjarte M. (Apr 2004), A Functional Reconstruction of Anti-Unification (PDF), NR Note, vol. DART/04/04, Norwegian Computing Center
  • Boytcheva, Svetla; Markov, Zdravko (2002). "An Algorithm for Inducing Least Generalization Under Relative Implication" (PDF). {{cite journal}}:Cite 저널은 필요로 한다. journal=(도움말)
  • Kutsia, Temur; Levy, Jordi; Villaret, Mateu (2014). "Anti-Unification for Unranked Terms and Hedges" (PDF). Journal of Automated Reasoning. 52 (2): 155–190. doi:10.1007/s10817-013-9285-6. 소프트웨어

등가론

  • 하나의 연관성 및 상호 작용 연산: ;
  • 대응 이론:
  • 자유 모노이드:
  • 정규 조합 클래스: ;
  • A-, C-, AC-, ACU-순서의 종류:
  • 순수하게 공신력 이론:

1차 분류 반통일

  • Taxonomic 종류:프리슈, AlanM.;페이지, 데이비드(1990년)."Generalisation Taxonomic 정보를 이용한".AAAI:755–761.;프리슈, AlanM.;페이지의 Jr., CDavid(1991년)."Generalizing Atoms적 논리에".Proc.Conf.지식에 표현.프리슈, AM;페이지, 우여곡절 끝에(1995년)."건축 이론 Instantiation에".Mellish에서 CS(교육.).Proc.14일 IJCAI.모건 카우프만.를 대신하여 서명함. 1210–1216.
  • 특성 항:
  • Idestam-Almquist, Peter (Jun 1993). "Generalization under Implication by Recursive Anti-Unification". Proc. 10th Conf. on Machine Learning. Morgan Kaufmann. pp. 151–158.
  • Fischer, Cornelia (May 1994), PAntUDE – An Anti-Unification Algorithm for Expressing Refined Generalizations (PDF), Research Report, vol. TM-94-04, DFKI
  • A-, C-, AC-, ACU-순서가 있는 이론: 위 참조

명목 반통일

  • 바움가르트너, 알렉산더, 쿠치아, 테무르, 레비, 조르디, 빌라레, 마테우(2013년 6월)명목 반통일.Proc. RTA 2015.LIPICS 제36권.슐로스 대그스털, 57-73소프트웨어.

적용들

  • 프로그램 분석:Bulychev, 피터, Minea, 마리우스(2008년)."중복 코드 감지를 이용한 Anti-Unification".{{ 들고 일기}}:Cite저널, journal=( 도와 주)이 필요하다.Bulychev, 피터 E;Kostylev, Egor V;자하로프, 블라디미르 A(2009년)."Anti-Unification 알고리즘과 프로그램 분석에 그들의 응용".{{ 들고 일기}}:Cite저널journal=( 도와 주)이 필요하다.
  • 코드 인수:
  • 유도 증명:
  • 정보 추출:
  • 사례 기반 추론:{{cite journal}} 인용 저널은 (도움말)을 요구한다.
  • 프로그램 합성:동일성 이론에 관한 용어를 일반화한다는 생각은 프로그램 합성 시 이를 적용하고자 했던 마나·월딩거(1978, 1980년)를 거슬러 올라갈 수 있다.「일반화」절에서는, (l)과 (꼬리(l)을 일반화할 것을 제안한다(1980년 기사의 페이지 119 참조).역전을 꾀하다.이러한 일반화는 배경 방정식 u[]=u를 고려해야 가능하다.
Zohar Manna; Richard Waldinger (Dec 1978). A Deductive Approach to Program Synthesis (PDF) (Technical Note). SRI International. — 1980년 기사의 사전 인쇄
Zohar Manna and Richard Waldinger (Jan 1980). "A Deductive Approach to Program Synthesis". ACM Transactions on Programming Languages and Systems. 2: 90–121. doi:10.1145/357084.357090.
  • 자연어 처리:

고차반통일

  • 구성의 미적분:
  • 단순 유형 람다 미적분(입력:eta-long 베타 정규 형식의 용어.출력: 고차 패턴:바움가르트너, 알렉산더, 쿠치아, 테무르, 레비, 조르디, 빌라레, 마테우(2013년 6월)고차원의 반통일 변종.Proc. RTA 2013.LIPICS 제21권.슐로스 대그스툴, 113-127소프트웨어.
  • 단순 유형 람다 미적분(입력:eta-long 베타 정규 형식의 용어.출력:패턴을 포함한 단순형 람다 미적분학의 다양한 조각:Cerna, David; Kutsia, Temur (June 2019). "A Generic Framework for Higher-Order Generalizations" (PDF). 4th International Conference on Formal Structures for Computation and Deduction, FSCD, June 24–30, 2019, Dortmund, Germany. Schloss Dagstuhl - Leibniz-Zentrum für Informatik. pp. 74–85.
  • 제한된 고차 대체품: Wagner, Ulrich (Apr 2002), Combinatorically Restricted Higher Order Anti-Unification, TU Berlin;

메모들

  1. ^ 완전한 일반화 세트는 항상 존재하지만, 모든 완전한 일반화 세트가 최소가 아닌 경우도 있을 수 있다.
  2. ^ 코몬은 1986년 불평등 해소를 "반통일"이라고 언급했는데, 오늘날에는 이 문제가 상당히 특이해졌다.Comon, Hubert (1986). "Sufficient Completeness, Term Rewriting Systems and 'Anti-Unification'". Proc. 8th International Conference on Automated Deduction. LNCS. Vol. 230. Springer. pp. 128–140.
  3. ^ E.g.
  4. ^ From a theoretical viewpoint, such a mapping exists, since both and are countably infinite sets; for practical purposes, can be built up as needed, remembering assigned mappings 해시 테이블에서 을(를) 수집하십시오.

참조

  1. ^ a b Plotkin, Gordon D. (1970). Meltzer, B.; Michie, D. (eds.). "A Note on Inductive Generalization". Machine Intelligence. 5: 153–163.
  2. ^ a b Plotkin, Gordon D. (1971). Meltzer, B.; Michie, D. (eds.). "A Further Note on Inductive Generalization". Machine Intelligence. 6: 101–124.
  3. ^ C.C. Chang; H. Jerome Keisler (1977). A. Heyting; H.J. Keisler; A. Mostowski; A. Robinson; P. Suppes (eds.). Model Theory. Studies in Logic and the Foundation of Mathematics. Vol. 73. North Holland.; 여기: 제1.3장