폴란드 표기법 - 위키백과, 우리 모두의 백과사전 폴란드 표기법 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 이 문서는 수학과 컴퓨터 과학의 접두사 표기법에 관한 것입니다. 유사하게 명명된 논리에 대해서는 루카쉐비치 논리 문서를 참조하십시오. 폴란드 표기법 ( PN ) 또는 전위 표기법은 논리, 산술 그리고 대수학 ( algebra ) 에 대한 하나의 표기법 양식이다. 그것의 두드러지는 특징은 연산자를 피연산자의 왼쪽에 둔다는 점이다. 연산자에 대한 피연산자의 개수 ( arity ) 가 고정되어 있다면, 그 결과는 애매모호함없이 구문 분석 가능한 둥근 괄호 ( parenthese ) 혹은 다른 괄호들이 없는 구문이 된다. 폴란드의 논리학자 얀 우카시에비치 ( Jan [UNK] ) 가 명제 논리를 단순화하기 위해 1924년에 이 표기법을 고안했다. 이외에 일반 폴란드 표기법 ( NPN ), 우카시에비치 표기법, 바르샤바 표기법, 접두사 표기법 등으로도 알려져 있다. 때때로 폴란드 표기법이라는 용어는 연산자가 피연산자의 오른쪽에 놓이는 폴란드 후위 표기법 혹은 역 폴란드 표기법까지를 포함하는 용어로 사용된다. 폴란드 표기법이 프로그래밍 언어의
다. 때때로 폴란드 표기법이라는 용어는 연산자가 피연산자의 오른쪽에 놓이는 폴란드 후위 표기법 혹은 역 폴란드 표기법까지를 포함하는 용어로 사용된다. 폴란드 표기법이 프로그래밍 언어의 인터프리터에 의해 수학적 표현식에 대한 문법으로써 사용되는 경우, 곧바로 추상 문법 트리로 구문 분석되며, 사실 동일하게 전단사 함수를 정의할 수 있다. 그런 이유로, Lisp ( 하단 참조 ) 과 관련 프로그래밍 언어들은 그들의 전체 문법을 전위 표기법의 측면에서 정의한다 ( 그리고 다른 언어들은 후위 표기법을 사용한다 ). 더 이상 논리학에서 많이 쓰이지는 않지만, 그 이후로 폴란드 표기법은 컴퓨터 과학에서 그 위치를 이어나가고 있다. 목차 1 역사 2 산술 3 컴퓨터 프로그래밍 4 연산 순서 5 예제 6 논리학을 위한 폴란드 표기법 역사 [ 편집 ] 얀 우카시에비치가 쓴 논문 < Remarks on Nicod's Axiom and on " Generalizing Deduction " > 180 페이지의 인용에서 " 1924년, 괄호에 자유로운 표기법의 아이디어를 얻었다. 나의 논문 [UNK] ( 1 ) 610페이지 각주에서 이 표기법을 처음 사용했다 " 며 해당 표기법을 고안한 방법에 대해 언급하고 있다. 우카시
자유로운 표기법의 아이디어를 얻었다. 나의 논문 [UNK] ( 1 ) 610페이지 각주에서 이 표기법을 처음 사용했다 " 며 해당 표기법을 고안한 방법에 대해 언급하고 있다. 우카시에비치가 인용한 참고 문헌은 폴란드의 석파화된 보고서인 듯 하다. 루카쉐비치의 Remarks on Nicod's Axiom and on " Generalizing Deduction " 참고 논문은 1965년에 Journal of Symbolic Logic에서 H. A. Pogorzelski에 의해 검토되었다. 알론조 처치 ( Alonzo Church ) 는 수학적 논리에 관한 그의 유서깊은 책에서, 이 표기법을 표기 체계에서 주목할 가치가 있는 것으로 언급하면서 화이트헤드와 러셀의 논리적 표기 해석과 Principia Mathematica의 업적과도 대조했다. 1951년에 쓰여진 우카시에비치의 책 Aristotle's Syllogistic from the Standpoint of Modern Formal Logic에서, 그는 그의 표기법의 원칙은 괄호를 피하기 위해 인자 앞에 함수적 술어를 쓰는 것이었으며, 1929년부터 그의 논리학 논문에서 그의 표기법을 사용해 왔다고 언급한다
x 7 { [UNK] displaystyle 5 - 6 [UNK] times 7 } 그 의미와 전체 표현식의 결과는 선행 규칙 ( 연산 순서 ) 에 기인해 변경될 것이다. 유사하게 5 - ( 6 x 7 ) { [UNK] displaystyle 5 - ( 6 [UNK] times 7 ) } 은 다음과 같이 폴란드 표기법으로 작성될 수 있다 : - 5 x 6 7 { [UNK] displaystyle - [UNK] 5 [UNK] times 6 [UNK] 7 } 컴퓨터 프로그래밍 [ 편집 ] 전위 표기법은 Lisp의 S - 표현식에서 폭넓은 애플리케이션을 추구해왔는데, 여기서 언어 내 연산자가 그 자체로 데이터 ( 일급 함수 ) 이기에 괄호 ( bracket ) 는 필수적이다. Lisp 함수는 또 변수의 arity를 가지고 있다. Lisp과 유사한 Tcl이라는 프로그래밍 언어도 mathop 라이브러리를 통해 폴란드 표기법을 사용한다. Ambi라는 프로그래밍 언어는 산술 연산과 프로그램 구조를 위해 폴란드 표기법을 사용한다. 하위 역 폴란드 표기법은 PostScript와 Forth와 같은 많은 스택 기반 프로그래밍 언어에서 사용되며, 특히 휴렛 - 패커드의 특정 계산기의 연산 원칙이기도 하다. CoffeeScript 문법 또한 전위 표기법을 사용해 호출되는 함수를 허용하는 반면 다른 언어들
2 스택에 푸쉬 Operator 4 두 개의 피연산자 ( 2, 2 ) 을 팝, ( 2 2 = 4 ) 을 계산하고 스택에 푸쉬 3 Operand 3 4 스택에 푸쉬 1 Operand 1 3 4 스택에 푸쉬 1 Operand 1 1 3 4 스택에 푸쉬 Operator 2 3 4 두 개의 피연산자 ( 1, 1 ) 을 팝, ( 1 1 = 2 ) 을 계산하고 스택에 푸쉬 7 Operand 7 2 3 4 스택에 푸쉬 - Operator 5 3 4 두 개의 피연산자 ( 7, 2 ) 을 팝, ( 7 - 2 = 5 ) 을 계산하고 스택에 푸쉬 15 Operand 15 5 3 4 스택에 푸쉬 / Operator 3 3 4 두 개의 피연산자 ( 15, 5 ) 을 팝, ( 15 / 5 = 3 ) 을 계산하고 스택에 푸쉬 x Operator 9 4 두 개의 피연산자 ( 3, 3 ) 을 팝, ( 3 x 3 = 9 ) 을 계산하고 스택에 푸쉬 - Operator 5 두 개의 피연산자 ( 9, 4 ) 을 팝, ( 9 - 4 = 5 ) 을 계산하고 스택에 푸쉬 결과는 스택 제일 위에 남는다. 논리학을 위한 폴란드 표기법 [ 편집 ] 아래 표는
ibility [UNK] [UNK] { [UNK] displaystyle [UNK] Diamond [UNK] varphi } M [UNK] { [UNK] displaystyle [UNK] mathrm { M } [UNK] varphi } [UNK] Necessity [UNK] [UNK] { [UNK] displaystyle [UNK] Box [UNK] varphi } L [UNK] { [UNK] displaystyle [UNK] mathrm { L } [UNK] varphi } [UNK] Universal quantifier [UNK] p [UNK] { [UNK] displaystyle [UNK] forall p [UNK], [UNK] varphi } [UNK] p [UNK] { [UNK] displaystyle [UNK] Pi p [UNK], [UNK] varphi } kwantyfikator [UNK] Existential quantifier [UNK] p [UNK] { [UNK] displaystyle [UNK] exists p [UNK], [UNK] varphi } [UNK] p [UNK] { [UNK] displaystyle [UNK] Sigma p [UNK], [UNK] varphi } kwantyfikator [UNK] 수 많은 가치있는 논리에 대한 루카쉐비치의 연구에서 quantifier는 명제 값을 아우른다는 것을 알아두자. [UNK] 고전적 명제 논리의 16가지 이진 연결 요소를 모두 지칭하는 호환되지 않는 폴란드 표기법을 도입했다. 원본 주소 " " 분류 : 수학 표기법폴란드의 발명품숨은 분류 : 문법 강조 오류가 있는 문서 둘러보기 메뉴 개인
피연산자 ( 9, 4 ) 을 팝, ( 9 - 4 = 5 ) 을 계산하고 스택에 푸쉬 결과는 스택 제일 위에 남는다. 논리학을 위한 폴란드 표기법 [ 편집 ] 아래 표는 명제 논리를 위한 얀 루카쉐비치의 핵심을 보여준다. 폴란드 표기법 표의 몇 가지 문자들은 보이는 것처럼 폴란드의 특정 단어들을 위해 존재한다 : 개념 관례상의 표기법 폴란드 표기법 폴란드 단어 부정 [UNK] [UNK] { [UNK] displaystyle [UNK] neg [UNK] varphi } N [UNK] { [UNK] displaystyle [UNK] mathrm { N } [UNK] varphi } negacja 논리곱 [UNK] [UNK] [UNK] { [UNK] displaystyle [UNK] varphi [UNK] land [UNK] psi } K [UNK] [UNK] { [UNK] displaystyle [UNK] mathrm { K } [UNK] varphi [UNK] psi } koniunkcja 논리합 [UNK] [UNK] [UNK] { [UNK] displaystyle [UNK] varphi [UNK] lor [UNK] psi } A [UNK] [UNK] { [UNK] displaystyle [UNK] mathrm { A } [UNK] varphi [UNK] psi } alternatywa Material conditional [UNK] → [UNK] { [UNK] displaystyle [UNK] varphi [UNK] to [UNK] psi } C [UNK] [UNK] { [UNK]
자와 두 개의 피연산자는 새로운 피연산자가 된다. 하나의 연산자와 두 개의 피연산자는 제거되고 하나의 피연산자가 추가되기 때문에, 하나의 연산자와 하나의 피연산자의 절대 손실이 존재하며, 이것은 N개의 연산자와 N1개의 피연산자를 가진 표현식을 남기므로 반복적인 과정을 계속할 수 있게 된다. 이것이 프로그래밍 언어에서 전위 표기법 구문을 평가하기 위해 스택을 사용하는 이면의 일반적인 이론이다 ( 비록 그 과정을 처리하는 다양한 알고리즘이 있긴 하지만 ). 한번 분석되고 나면, 증가되는 편의로 관례와의 구분을 허용함으로써 전위 표기법의 구문은 인간의 마음에 덜 위협적으로 바뀌게 된다. 전위 표기법을 사용하는 복잡한 구문이 연산 순서를 통해 판독될 수 있는 용이함을 보여준다 : - x / 15 - 7 1 1 3 2 1 1 = { [UNK] displaystyle - [UNK] times [UNK] div 15 - 71 [UNK] 1 [UNK] 321 [UNK] 1 = } - x / 15 - 7 2 3 2 1 1 = { [UNK] displaystyle - [UNK] times [UNK] div 15 - 7 [UNK] 2 [UNK] qquad 321 [UNK] 1 = } - x / 15 5 3 2 1 1 = { [UNK] displaystyle - [UNK] time
16가지 이진 연결 요소를 모두 지칭하는 호환되지 않는 폴란드 표기법을 도입했다. 원본 주소 " " 분류 : 수학 표기법폴란드의 발명품숨은 분류 : 문법 강조 오류가 있는 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 [UNK] 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 [UNK] 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 다른 프로젝트 공용 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 [UNK] 日 本 語 LatinaNederlandsNorsk [UNK] / [UNK] [UNK] / [UNK] [UNK] 中 文 링크 편집 이 문서는 2019년 4월 15일 ( 월 ) 11 : 00에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. [UNK] 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책
[UNK] 6 ) [UNK] 7 } 간단한 산술 연산자는 ( 적어도 산술적인 측면에서 ) 모두 바이너리 함수 ( 두 개의 인자를 갖는 함수 ) 이기 때문에, 어떠한 전위 표현도 모호하지 않으며, 전위 표현식을 괄호로 묶는 것은 불필요하다. 그것으로 봤을 때, 이전 표현식은 다음과 같이 좀 더 단순화될 수 있다 x - 5 6 7 { [UNK] displaystyle [UNK] times - [UNK] 5 [UNK] 6 [UNK] 7 } 곱셈의 처리는 두 피연산자 ( 즉, 5 - 6과 7 ) 가 다른 계산을 마칠 때까지 연기된다. 어떤 표기법과 마찬가지로, 가장 안쪽의 표현식이 먼저 평가되는데, 전위 표기법에서 이런 " 가장 안쪽 " 이라는 것은 괄호 보다는 순서에 의해 정해질 수도 있다. 고전적인 표기법에서, 중위 버전의 둥근 괄호가 필수적이었는데, 다음과 같이 그 위치를 옮기거나 5 - ( 6 x 7 ) { [UNK] displaystyle 5 - ( 6 [UNK] times 7 ) } 다음과 같이 단순히 제거하는 경우 5 - 6 x 7 { [UNK] displaystyle 5 - 6 [UNK] times 7 } 그 의미와 전체 표현식의 결과는 선행 규칙 ( 연산 순서 ) 에 기인해 변경될 것이다. 유사하게 5 - ( 6 x 7 ) {
폴란드 표기법(PN) 또는 전위 표기법은 논리, 산술 그리고 대수학(algebra)에 대한 하나의 표기법 양식이다. 그것의 두드러지는 특징은 연산자를 피연산자의 왼쪽에 둔다는 점이다. 연산자에 대한 피연산자의 개수(arity)가 고정되어 있다면, 그 결과는 애매모호함없이 구문 분석 가능한 둥근 괄호(parenthese) 혹은 다른 괄호들이 없는 구문이 된다. 폴란드의 논리학자 얀 우카시에비치(Jan Łukasiewicz)가 명제 논리를 단순화하기 위해 1924년에 이 표기법을 고안했다. 이외에 일반 폴란드 표기법(NPN), 우카시에비치 표기법, 바르샤바 표기법, 접두사 표기법 등으로도 알려져 있다. 때때로 폴란드 표기법이라는 용어는 연산자가 피연산자의 오른쪽에 놓이는 폴란드 후위 표기법 혹은 역 폴란드 표기법까지를 포함하는 용어로 사용된다. 폴란드 표기법이 프로그래밍 언어의 인터프리터에 의해 수학적 표현식에 대한 문법으로써 사용되는 경우, 곧바로 추상 문법 트리로 구문 분석되며, 사실 동일하게 전단사 함수를 정의할 수 있다. 그런 이유로, 리스프(Lisp)와 관련 프로그래밍 언어들은 그들의 전체 문법을 전위 표기법의 측면에서 정의한다(그리고 다른 언어들은 후위 표기법을 사용한다). 더 이상 논리학에서 많이 쓰이지는 않지만, 그 이후로 폴란드 표기법은 컴퓨터 과학에서 그 위치를 이어나가고 있다.