일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ethers v6
- 스마트컨트렉트프록시
- 스마트컨트렉트 함수이름 중복 호출
- SBT표준
- 티스토리챌린지
- 러스트 기초 학습
- 스마트컨트렉트테스트
- ethers typescript
- Vue
- 러스트기초
- 스마트컨트렉트 예약어 함수이름 중복
- 러스트 기초
- vue기초
- multicall
- 스마트 컨트렉트 함수이름 중복
- git rebase
- nest.js설명
- ambiguous function description
- ethers
- 오블완
- Vue.js
- 체인의정석
- rust 기초
- 컨트렉트 동일한 함수이름 호출
- 프록시배포구조
- chainlink 설명
- ethers type
- 컨트렉트 배포 자동화
- ethers websocket
- 머신러닝기초
- Today
- Total
체인의정석
1차 논리 추론 , first order inference 에 대해 알아보자! 본문
1차 논리 추론의 경우 챗 지피티에게 질문하는 형식으로 학습하고 정리하기로 했다.
1차논리 추론 설명
1차 술어 논리 추론 (First-Order Logic Inference)
1차 술어 논리는 객체, 객체 간의 관계, 및 객체의 속성을 표현하는 데 사용되는 강력한 논리 체계입니다. FOL 추론은 주어진 정보(증거)를 바탕으로 새로운 정보를 도출하는 과정입니다.
모델 이론 (Model Theory)
모델 이론에서는 주어진 명제들이 참이 되는 모델(즉, 세계 혹은 상황)을 찾습니다. 이를 통해 새로운 명제의 참과 거짓을 판단할 수 있습니다.
예를 들어, '모든 사람은 죽을 것이다'라는 명제가 있을 때, 이 명제가 참인 모델은 모든 사람이 죽는 세계입니다. 따라서 '소크라테스는 죽을 것이다'라는 명제도 참입니다.
추론 규칙 (Inference Rules)
FOL에서는 명제 논리에서 사용하는 추론 규칙 외에도 양화자에 대한 추론 규칙을 사용합니다. 몇 가지 주요 추론 규칙은 다음과 같습니다.
- Universal Instantiation (UI): ∀x, P(x)가 참이라면, 임의의 개체 a에 대해 P(a)도 참입니다.
- Existential Instantiation (EI): ∃x, P(x)가 참이라면, P(a)가 참인 어떤 a가 있습니다.
- Universal Generalization (UG): P(a)가 모든 a에 대해 참이면, ∀x, P(x)도 참입니다.
- Existential Generalization (EG): P(a)가 어떤 a에 대해 참이라면, ∃x, P(x)도 참입니다.
결과 추론 (Resolution)
결과 추론은 모든 문장을 규범형(Horn clause) 형태로 변환한 후, 명제를 도출하는 방법입니다.
예를 들어, 문장 'P ∨ Q'와 '¬P'가 주어졌을 때, 결과 추론을 사용하면 'Q'를 도출할 수 있습니다.
자동 증명 (Automated Theorem Proving)
자동 증명 도구는 주어진 가정들에서 명제가 참인지 판단하는 프로그램입니다. 이러한 도구는 수학, 컴퓨터 과학, 인공지능 등의 분야에서 널리 사용됩니다.
FOL 추론 예제
1차 술어 논리를 이용하면 다양한 지식 표현 및 추론을 할 수 있습니다. 예를 들어, "모든 사람은 존재하며, 모든 사람은 언젠가 죽는다"라는 지식을 표현하고, "소크라테스는 사람이므로 소크라테스는 죽는다"라는 결론을 도출하는 것이 가능합니다.
결론
1차 술어 논리 추론은 복잡한 관계와 성질을 갖는 객체들 사이의 논리적인 결론을 도출하는 데 사용되는 강력한 도구입니다. 이를 통해 인공지능 시스템이 사람과 유사한 추론 능력을 가지게 되어, 보다 지능적인 결정을 내릴 수 있게 됩니다.
예시 1: 전체 적용 (Universal Instantiation, UI)
주어진 명제:
∀x (사람(x) → 죽음(x))
추론 과정:
위 명제는 "모든 x에 대해, x가 사람이면 x는 죽을 것이다"라는 의미입니다.
여기서 특정 인스턴스, 예를 들어 '소크라테스'를 대입해봅니다.
결론:
사람(소크라테스) → 죽음(소크라테스)
이는 "소크라테스가 사람이면 소크라테스는 죽을 것이다"라는 의미입니다.
예시 2: 존재 적용 (Existential Instantiation, EI)
주어진 명제:
∃x (사람(x) ∧ 천재(x))
추론 과정:
위 명제는 "어떤 x가 있어서, x는 사람이면서 동시에 천재이다"라는 의미입니다.
여기서 특정 인스턴스, 예를 들어 '아인슈타인'을 생각해봅니다.
결론:
사람(아인슈타인) ∧ 천재(아인슈타인)
이는 "아인슈타인은 사람이면서 천재이다"라는 의미입니다.
예시 3: 결과 추론 (Resolution)
주어진 명제:
∀x (새(x) → 날다(x))
새(트위티)
추론 과정:
첫 번째 명제는 "모든 x에 대해, x가 새이면 x는 날 수 있다"라는 의미입니다.
두 번째 명제는 "트위티는 새이다"라는 의미입니다.
이 두 명제를 통해 새로운 정보를 도출해봅니다.
결론:
날다(트위티)
이는 "트위티는 날 수 있다"라는 의미입니다.
이처럼 1차 논리 추론은 주어진 명제를 바탕으로 새로운 정보를 도출하는 데 사용됩니다.
Unification 개념
유니피케이션(Unification) 알고리즘은 논리학과 컴퓨터 과학에서 두 표현식을 동일하게 만드는 데 사용되는 일반적인 변수의 대입을 찾는 과정입니다. 이 알고리즘은 주로 1차 술어 논리에서의 추론, 형식 언어에서의 타입 추론, 프로로그와 같은 논리 프로그래밍 언어에서 사용됩니다.
Forward Chaining & Generalized Modus Ponens (GMP)
전방 연역법(Forward Chaining)은 주어진 규칙과 사실을 바탕으로 새로운 사실을 도출하는 논리 추론 방법입니다. 이 방법은 "만약 A가 참이면 B도 참이다"라는 규칙을 사용하여, 주어진 정보에서 새로운 정보를 추론하는 방식으로 작동합니다.
예제
말그대로 앞에다가 연결시켜 놓는 것이 forward chainning이고 GMP는 정말 간단하게 A=>B라면 A이면 곧 B이다를 나타내는 것이다. 한가지 케이스를 딱 1차논리 추론으로 정립해 두고 해당 x의 특징을 forward channing을 한다면? 해당 내용도 모두 참이 되게 된다.
출처 : 챗 지피티 & 수업