PRODE 모델링 언어
PROSE modeling language![]() |
PROD는[1][2][3][4] 합성[5][6][7] 미적분(일명 MetaCalculus)으로 알려진 전체론적 모델링 패러다임을 확립한 수학적인 4GL 가상 머신입니다.TRW Systems에서 개발된 SLING/CUE[9] 시뮬레이션[8] 및 최적화 언어의 후속으로 1974년 Control Data 슈퍼컴퓨터에 도입되었습니다.이것은 CDC 6600 CPU의 명령 스택에 루프하도록 최적화된 자동 차등화(AD)를 채용한 최초의 상용[10][11][12][13] 언어입니다.
PROD는 풍부한 블록 구조 절차 언어였지만, PROD의 초점은 다음과 같은 동시 가변 수학 시스템의 혼합이었다.
- 암묵적 비선형 방정식 시스템, 일반 미분 방정식 시스템 및 다차원 최적화.
이러한 종류의 시스템 모델은 각각 구별되었고 절차 구문에 이를 자동화하고 해결하기 위한 연산자 템플릿이 추가되었습니다.이러한 자동화된 시스템 문제는 미지의 문제가 동시에 발생했기 때문에 "전체적"으로 간주되었고, 부분적 또는 대수적 조작(예: 대체)으로 공식화할 수 없었지만, 도매로 해결해야 했다.그리고 전체성은 알고리즘의 결정성이나 수학적 "폐쇄성"과도 관련이 있으며, 이는 수치적 불안정성에 의해 손상되지는 않더라도 원칙적으로 솔루션 수렴이 가능하고 확실하도록 만들었다.
미분 전파의 성서
이러한 전체적인 문제 모델은 이러한 폐쇄로 인해 독립적으로 자동화되고 해결될 수 있기 때문에 서브루틴 방식으로 서로 중첩함으로써 더 높은 도매로 혼합될 수 있습니다.사용자는 일반 서브루틴인 것처럼 간주할 수 있습니다.
그러나 의미론적으로 이 수학적 혼합은 서브루틴의 메커니즘보다 훨씬 더 복잡했다.왜냐하면 반복적인 솔루션 엔진이 프로그램 계층 구조에서 호출 연산자 템플릿에 의해 각 문제 모델에 연결되기 때문이다.수치 해결 프로세스에서는 이 엔진이 제어를 받아 문제 모델의 서브루틴을 반복적으로 호출합니다.시스템 문제가 해결될 때까지 호출 템플릿으로 돌아가지 않습니다.일부 또는 모든 반복 모델서브루틴 호출 중에 엔진은 호출 템플릿에 정의된 모델의 입력 미지(인수)에 관해 모델 전체에서의 공식의 자동 미분을 호출합니다.이러한 전체론적 모델의 유비쿼터스 중첩을 수용하기 위해 의미론에서 추가 메커니즘이 수행되었다.
예측 프로세스의 차별화
내포된 솔루션이 예측(예: 수치 적분)인 경우, 모델 공식 외에 솔루션 알고리즘도 자동으로 차별화된다.이러한 차별화는 (체인 규칙을 통해) 초기 조건에서 경계 조건까지 통합을 통해 전파되므로, 초기 조건에 대한 경계 조건의 차별화(이른바 프레셰 도함수)가 수행될 것이다.이것은 뉴턴 방법 엔진을 사용한 반복적인 "슈팅" 방법을 통해 경계값 문제의 일상적인 해결을 가능하게 했다.물론 이와 동시에 이 전파된 미분도 미분방정식의 임의의 파라미터와 관련하여 수행되어 적분함수를 더욱 구체화할 수 있다.이러한 파라미터는 통합 프로세스 위의 전체 계층의 알 수 없는 것에 대해 해결할 수 있으며, 이는 전반적인 문제 공식화에 있어 상당한 편리성을 제공합니다.
검색 프로세스의 차별화
내부 내포 문제가 검색이고 외부 문제가 검색(예: 최적화)인 경우, 내부 검색 미지수와 관련하여 생성된 부분 도함수는 미분-기하 좌표 변환을 통해 외부 검색의 부분 도함수로 변환되어야 했다.이것은 또한 고차 미분과 때로는 다른 독립 변수를 포함하는 반복 과정이었다.
그러나, 이러한 확장적이고 반복적인 미분 연산 과정은 사용자로부터 완전히 숨겨졌고, 일반 서브루틴과 그 호출만 관련된 경우보다 그의 모델링 작업에서 더 중요하지는 않았다.그것들은 반복적이고 횟수와 종류의 반복은 무한합니다. 왜냐하면 하위 문제 전체가 해결되고 있었기 때문입니다. 그것도 더 높은 문제의 일부였기 때문입니다.이 역동적인 실체가 그 용어를 만든 Arthur Koestler의 이론에 완벽하게 들어맞기 때문에 각각의 문제를 "홀론"이라고 부르는 것은 자연스러운 일이었다.이것은 원래의 PEDO 문서에서는 행해지지 않았습니다.왜냐하면 그 당시에는 케슬러의 이론이 새롭고 다소 논란의 여지가 있었기 때문입니다.이 용어는 나중에 켄 윌버가 쾰러의 홀론 개념을 승인한 후에 사용되었다.
자동화 오퍼레이터 템플릿
완전한 모델링 패러다임은 아래의 연산자 템플릿에 의해 구별되는 세 가지 클래스의 홀로론으로 구성되었습니다.
최적화
솔버 엔진으로 모델-서브루틴에서 동시 찾기 [부등식-제약-변수 유지] [동일-제약-변수 일치] 목표 변수를 최대화하려면
상관 관계
거라. 동시 전송 입력 모델 서브루틴 타고 솔버 엔진 일치시키다 등가 구속
시뮬레이션
개시하다 솔버 엔진 위해서 모델 서브루틴 방정식 환율 조정/레벨 조정 의 독립 개재의 걸음 증분 처리하다 로. 리미트 리미트 리미트 통합 모델 서브루틴 타고 솔버 엔진
모델 서브루틴에는 하위 문제를 캡슐화하는 연산자 템플릿 중 하나가 포함될 수 있기 때문에 이들 3개의 연산자 템플릿은 방정식 모델 서브루틴 계층을 캡슐화하는 동적 홀론을 생성했습니다.홀러시 내의 각 홀론에는 솔버 알고리즘엔진이 있어 홀론클래스의 다른 것과 교환할 수 있습니다.자동 미분의 확장된 산술과 수치 적분을 동적으로 미분할 수 있는 능력은 그림 1에 설명된 전체적 모델링의 고유한 모드를 낳았다.

이 문제의 예는 원래 경계값 문제 어플리케이션의 최적화에 사용되는 알고리즘에 관한 LAND 보고서로부터의 FORTRAN 어플리케이션이었습니다.교과서로도 [14]출판된 이 보고서는 같은 저자인 리처드 벨먼에 의해 발명된 "동적 프로그래밍"의 대안인 준선형화를 기술했다.교과서 부록 2의 FORTRAN 프로그램은 그림 1의 흰색 상자(보이는 구문)에 완전히 내장된 25줄 PRODE 프로그램의 5배 이상의 코드를 포함하고 있습니다.모델링 대 프로그래밍 논의에서 더 중요한 것은 FORTRAN 프로그램이 14개의 DO 루프를 포함하는 반면, PRODE 프로그램에는 루프가 없다는 것입니다.프로그램의 심플화에 대해 고려해야 할 또 다른 포인트는 동적 메모리 관리가 사용자에 의해 당연하게 여겨질 수 있다는 것입니다.홀론에서 발신 오퍼레이터 템플릿으로 돌아가면 홀론은 파괴되고 메모리는 다른 용도로 해방됩니다.
이 어플리케이션은 문제를 기술하는 데 필요한 코드의 양에 있어서 실제로는 사소한 것입니다.그것이 바로 PROD 프로그램이 매우 작은 이유입니다.모든 반복 솔루션 방법론은 솔버 엔진의 후드 아래에 있습니다(그림 1의 팁).모델에는 루프가 거의 필요하지 않습니다.이것이 바로 모델링 도구인 스프레드시트에 스프레드시트가 없는 이유입니다.
이 문제의 예는 단일 응용 프로그램에서 holon 패러다임의 완전한 캡슐화를 제공합니다.홀론 타입은 모두 사용되고 있습니다.최고 레벨에서의 최적화 검색, 중간 홀론으로서의 상관관계 검색(최적화의 제한된 서브셋), 가장 안쪽 홀론으로서의 시스템 다이내믹스 시뮬레이션입니다.이와 동일한 구조를 가진 다른 PROD 프로그램이 그림 2에 나와 있습니다.이것은 구조 및 중량 제약에 따라 양력을 극대화하기 위해 캔틸레버 날개 구조의 최적화를 다소 더 크게 적용한 것이다.이 경우 외부 홀론 솔버에 의해 검색되는 최적화 미지의 10개의 좌표 치수가 있습니다.
두 개의 외부 홀론은 각각 미지의 숨겨진 좌표계를 가지고 있으며 검색엔진이 이를 해결합니다.그리고 이 엔진들은 알려지지 않은 변수들에 의존하는 모든 다운스트림 변수의 부분적인 도함수를 필요로 합니다. 이러한 변수들은 자동 미분 산술로 평가됩니다.외부 좌표계의 도함수는 내부 검색 엔진이 수렴(국소 해법 발견)한 후 내부 좌표계의 도함수로부터 계산해야 한다.여기서 미분-기하 좌표 변환이 적용된다.그림 2의 날개 문제에는 적분 직교 함수를 포함하여 더 많은 하위 프로그램이 표시되지는 않았다.
이들 서브프로그램은 시스템 다이내믹스(미분방정식) 모델의 수치적 통합을 포함하므로 자동미분산술은 경계(적분곡선의 끝점) 조건의 도함수를 평가하기 위해 시뮬레이션 엔진(및 직교 솔버)의 적분 알고리즘의 미분을 포함한다.h 초기 조건과 관련된 것.이 계산은 형식적인 기호 미분으로는 불가능합니다.또한 유한한 차이 근사치로는 가능하지 않다.정확한 체인 규칙 전파를 사용하는 자동 차별화만 가능합니다.
자동화된 Holon 아키텍처
그림 3은 프로파일에 있는 홀론의 일반화 아키텍처를 나타내며, 가시적 모델링 구문과 특징적인 5단계 반복 프로세스와 함께 보이지 않는 의미 구조를 보여줍니다.홀론은 연산 템플릿에 의해 동적으로 생성되는 좌표계와 수학적으로 연관된 미적분 문제 해결 단위이다.연산자는 솔버 엔진(시뮬레이션의 경우 수치 예측 변수, 상관관계 및 최적화의 경우 검색 엔진)입니다.피연산자는 모델 프로시저(후순위 홀론의 전체일 수 있음)입니다.
본질적으로 홀론은 스프레드시트와 같은 은유적 계산 컨테이너이지만 일반적인 대수적 언어처럼 절차적 루프를 가능하게 합니다.그러나 이것의 목적은 고등 수학을 나타내는 대수 공식들을 짜는 것이다(예를 들어 미분 방정식은 변수 중 일부가 비율인 대수 공식이다).
그림 4-7은 시뮬레이션, 상관관계 및 최적화의 서로 다른 홀론 클래스가 이 아키텍처를 어떻게 반영하는지를 보여 주며, 수치 근사 수학 기술의 알고리즘 해결사 엔진에서 모델링(과학 방정식)을 분리합니다.
Holon은 공식 시스템 솔루션 프로세스입니다.
위에서 설명한 바와 같이 Holon은 일련의 입력 대수식을 캡슐화한 스프레드시트와 같은 계산 컨테이너입니다.그러나 스프레드시트와 달리 이러한 공식은 일련의 근사치(반복)를 포함하여 하나의 단위로만 풀 수 있는 축소 불가능한 전체 중 일부입니다.따라서 계산식을 한 번만 사용하는 스프레드시트는 "퇴보" 또는 "축소" 홀론으로 간주될 수 있으며, 이는 단일 경로 계산만 포함합니다.
홀론 모델은 일련의 공식들을 통과하는 단일 패스 이외의 정의 가능한 솔루션 조건과 동시에 미지의 것을 관련짓는 보다 높은 문제의 원형으로 대수 공식의 캡슐화 시스템을 상승시킨다.다중 통과 근사치를 솔루션 조건에 "컨버전스"하려면 "후드 아래" 반복 미적분이 필요합니다.
은유적 문제의 원형
각 홀론은 교환 가능한 연산자로 적용할 수 있는 다른 종류의 솔루션 방법을 사용하여 고등 수학에서 나온 세 가지 시스템 문제의 원형 중 하나를 자동화합니다.이들 방법은 입력 공식과 그 계산에 따라 홀론 해법에 대한 연속적인 근사치를 유도합니다.이러한 문제 원형은 자연현상의 모델링을 나타내는 공식 집합에서 쉽게 추출되며, 순차적 또는 중첩된 홀론의 전체로서 전체 계산 프로그램을 합성하기 위한 구성 요소로 사용될 수 있습니다.알파벳으로 함께 사용되는 이 원형 문제들은 홀론 컬렉션을 통해 미적분 "영향"을 전파하는 특별한 의미론 "글루" 방법론을 포함하는 대수 프로그래밍 언어 내에서 고등 수학 모델링의 토폴로지가 됩니다.
홀론이 알파벳 조합을 통해 더 큰 도매 형태를 형성함에 따라, 그러한 홀러키시 또한 종종 자연 현상 모델링에서 침전되는 문제의 원형으로 되는 경향이 있습니다.예를 들어 상관과 시뮬레이션 홀론의 조합으로 해결되는 경계값 문제가 있습니다.
산문 판테온
PRODE는 세 가지 엔진 카테고리에서 신화적인 신들의 이름을 딴 교환 가능한 솔버들의 판테온을 소개했습니다.
최적화
- HERA - 탐색 과정에서 불필요한 극단을 인식하고 회피하는 특수 논리를 가진 뉴턴의 2차 구배법의 고급 버전.
- HARCULES - 선형, 정수 및 혼합 정수 문제에 대한 특수 제약 최적화 솔버.
- JOVE - 뉴턴의 2차 구배 검색을 적용하는 순차적 제약 없는 최적화 기법.
- 주피터 - Davidon-Fletcher-Powell(DFP) 가변 메트릭 검색을 적용하는 이동 외부 잘라내기 패널티 함수 방법.
- TOR - "단면 선형" 선형 프로그래밍 기법
- 제우스 - DFP(Davidon-Fletcher-Powell) 변수 메트릭 검색을 적용하는 순차적 제약 없는 최적화 기술입니다.
상관 관계
- AJAX - 감쇠 Newton-Raphson 및 Newton-Gauss 유사 역근 파인더
- MARS - 감쇠된 Newton-Raphson 및 Newton-Householder 유사 역루트 파인더.
시스템 다이내믹스 시뮬레이션
- Athena - 차동 전파 및 출력 의존 변수의 선택적 제한 기능을 갖춘 다차 Runge-Kutta
- GEMINI - 맥락에 따라 차등 전파를 사용하는 Gragg, Bulirsch 및 Stoer의 합리적 함수 외삽의 자가 시동 기법
- ISIS - 차동 전파를 사용하는 Runge-Kutta-Gill;
- JANISIS - ISIS 또는 JANUS(차동 또는 비차동 전파 컨텍스트에 따라 다름)
- JANUS - 비 미분 전파 컨텍스트에 대한 애덤스-몰턴 예측 변수-수정자
- MERCURY - 비차동 전파 컨텍스트를 위한 기어 속도/상태 차별화 강체 및 단계 크기 최적화 방법
- MERLIN - 미분 전파를 이용한 Gragg, Bulirsch 및 Stoer의 합리적인 함수 외삽의 자가 시동 기법.
- MINERVA - 미분 전파 및 출력 종속 변수의 선택적 제한이 없는 다차 Runge-Kutta
- 넵튠 - 미분 전파 없이 Gragg, Bulirsch 및 Stoer에서 합리적인 함수 외삽을 수행하는 자가 시동 기술
- PEGASUS - Sarafyan Embedding으로 알려진 특별한 5차 Runge-Kutta 기술. 4차 결과는 동시에 얻을 수 있으며 비차동 전파 컨텍스트에서 출력 종속 변수의 선택적 제한도 얻을 수 있습니다.
콘텍스트의 네스트
이들 솔버는 적용된 네스팅 컨텍스트에 따라 세 가지 엔진 카테고리에서 다른 수치 방법을 적용했습니다.일부 시뮬레이션 솔버(JANUS, MERCURY, MINERVA, MERLIN 및 PEGASUS)는 자동 미분 연산을 위해 과부하가 되지 않았기 때문에 상관 관계 및 최적화의 자동 미분 컨텍스트에 중첩할 수 없었다.따라서 하이브리드 버전인 JANISIS(ISIS 또는 JANUS)와 GEMINI(MERLIN 또는 NUPTUNE)가 도입되어 자동 미분 모드 또는 일반 산술 모드(내부적으로 미분 꺼짐)에서 효율적으로 작동합니다.이것에 의해, 다양한 비파생 검색 서브 스텝이 적용되었을 때에, AJAX, MARS, JOVE, 제우스, 주피터등의 솔버의 반복 검색이 큰폭으로 고속화되었습니다.
레퍼런스
![]() | Wikimedia Commons에는 PRODE(모델링 언어) 관련 미디어가 있습니다. |
- ^ PROD – Control Data Corp., 프로시저 매뉴얼, 범용 고급 언어펍 번호 840003000 Rev. B(1977년 1월)
- ^ a b c d e f PROD – Control Data Corp., 미적분 연산 매뉴얼, 범용 고급 언어Pub. No 840003200 Rev B(1977년 1월)
- ^ PROD – Control Data Corp.의 미적분 응용 프로그램 가이드, 범용 고급 언어퍼브 번호 84000170 Rev.A(1977년 1월)
- ^ PROD – Control Data Corp., Time Sharing System Guide, 범용 고급 언어Pub. No 84000160 Rev A(1977년 1월)
- ^ J.M. 템즈, 합성 미적분의 진화:고급 건축을 위한 수학 기술, 1982년 메릴랜드 대학 고급 언어 컴퓨터 아키텍처에 관한 국제 워크숍의 대리.
- ^ B. 크린스키와 J.1984년 메릴랜드 대학 고급 컴퓨터 건축에 관한 국제 워크숍의 산술적 설계의 프로그래밍 패러다임인 템즈, 합성미적분의 구조
- ^ a b J.M. Thames, 합성 미적분 – 수학 프로그램 합성의 패러다임, A.그리완크와 G.F. 콜리스, 에드알고리즘의 자동 미분:이론, 구현, 응용, SIAM, 필라델피아(1991)
- ^ J.M. Thames, "SLANG: 연속적인 모델 시뮬레이션과 최적화의 문제 해결 언어", ACM National Conference, 샌프란시스코, 1969.
- ^ J.D. McCully, "문제 해결에 대한 Q 접근", 가을 합동 컴퓨터 회의의 진행, 1969.
- ^ R.N. Nilsen 및 W.J. Karplus, "계속적인 시스템 시뮬레이션 언어: 예술의 상태 조사" Annales de l'Associatione pour le Calculate analique - 1974년 1월 1일, 페이지 20
- ^ J.M. Thames, 미적분 계산, 연구/개발, (1975), 페이지 24~30
- ^ F.W. 파이퍼, 비선형 프로그래밍과 관련된 일부 진보, ACM Sigmap Bulletin, 제28호, 1980년 1월, 페이지 15-21
- ^ F.W. 파이퍼, PROD, ACM SIGNUM 뉴스레터, 22(1987), 페이지 1~8
- ^ a b R.E. Bellman and R.E. Kalaba, 준선형화와 비선형 경계값 문제, The RAND Corporation, American Elsevier Publishing Co., 1965, 뉴욕, 페이지 125, 페이지 168.