목차
Ⅰ. JAVA
1. JAVA의 탄생과정
2. JAVA의 역사 및 발전과정
3. JAVA의 특성
4. JAVA 코드의 구조
5. JAVA의 클래스 분석
6. 활용분야
Ⅱ. Prolog
1. Prolog의 역사
2. Prolog의 특성
3. Prolog 프로그램의 개념
4. Prolog의 개발환경
5. Prolog, Lisp 등 논리형 프로그램의 응용분야
1. JAVA의 탄생과정
2. JAVA의 역사 및 발전과정
3. JAVA의 특성
4. JAVA 코드의 구조
5. JAVA의 클래스 분석
6. 활용분야
Ⅱ. Prolog
1. Prolog의 역사
2. Prolog의 특성
3. Prolog 프로그램의 개념
4. Prolog의 개발환경
5. Prolog, Lisp 등 논리형 프로그램의 응용분야
본문내용
ard chaining)가 잘 구축되어 있고 역시 잘 알려진 “퇴각 검색(backtracking)\"이라는 기법이 도구화되어 있다. 후진연쇄(backward chaining)는 추정(assumption)이 제시될 경우, 사실로 추정되는 결론이나 결과를 지식 베이스의 규칙이나 사실로부터 조사되는 기술이다. 만약 그 추정이 옳지 않다고 밝혀지면, 퇴각 검색(backtracking)은 초기의 추정을 삭제하고 그 추정을 새롭게 대치하는 역할을 한다.
Prolog의 특징 3가지를 정리하면 다음과 같다.
1) 지식의 처리
일반 프로그래밍 언어들이 자료 처리를 위하여 구성되었다면, 지식의 처리를 위해서는 LISP와 Prolog가 많이 사용된다.
2) 퇴각 검색 (backtracking)
인공 지능이나 전문가 시스템 등의 응용 분야에서 문제 해결을 위해 사용되는 방법으로, 문제를 해결하던 중에 그 방법이 잘못되어 더 이상 진전할 수 없는 상황이 되면 가능한 가장 최근의 상태로 되돌아가서 다시 문제를 해결하는 방법이다. LISP보다 퇴각 검색(backtracking) 기능이 좋고, 프로그램의 구조가 한 단계 높다고 할 수 있어서 착오의 처리가 더 유리하다.
3) 제어구조
프로그램은 패턴매칭(pattern matching - unification이라 함)에 의해 제어된다. 즉, 위에서 아래로 실행되는 것이 아니라 실행 가능한 행이 프로그램 중에 패턴매칭에 의해 선택되어서 자동적으로 실행된다.
그리고 Prolog의 가장 큰 특징은 작은 양의 프로그래밍으로 더 많은 양의 작업을 자동적으로 수행할 수 있는 방법인 비절차적 프로그래밍을 사용하고 있는 것이 가장 큰 특징이라 하겠다.
3. Prolog 프로그램의 개념
우선 Prolog 프로그램은 다음과 같이 구성되어 있다.
1) 객체와 이 객체들 사이의 관계에 관한 사실들을 명세화함으로써 상황이나 실세계를 모델화(fact)
2) 개별적인 사물에 관한 사항보다는 어떤 범위의 사물이나 어떤 조건을 만족시키는 사항에 공통되는 성질이나 관계를 기술하는 규칙(rule)
3) 실제로 알고자 하거나 풀고자 하는 문제를 질문으로서 주는 목표(goal)
그리고 Prolog의 개념에 대하여 정리하여 보면,
1) 패턴대조에 의한(pattern matching)에 의한 program실행
2) 퇴각 검색(backtracking)에 의한 시행착오의 실현
3) 패턴대조에 의한 리스트의 처리
라고 말할 수 있다.
4. Prolog의 개발환경
Prolog 컴파일러
PROLOG 컴파일러
환경(H/W, OS, 기타)
개 발 회 사
AAIS Full Control
Macintosh Plus
Advanced AI Systems
Arity
DOS
Arity Co.
ALS
DOS, UNIX
Applied Logic Systems
BIM
SPARC, 8M RAM
BIM
Cogent
DOS
Amziod
Delphia
SPARC
Delphia
IF
DOS, UNIX, Windows
AmericanInterface Computer
LPA
DOS, Windows, Macintosh
Logic Programming Associates
n-parallel
DOS
Computer Systems Architects
PDC
DOS, OS/2, Windows
Prolog Development Center
Quintus
DOS, UNIX
Quintus Co.
5. Prolog, Lisp 등 논리형 프로그램의 응용분야
제5세대 언어(5GL)라 칭하는 프로그래밍 언어로는 논리언어, 함수언어, 그리고 자연어를 들 수 있다. 이들 언어는 종종 인공지능의 구현이나 전문가 시스템을 만드는데 사용된다. 컴퓨터가 인간 두뇌의 기능을 모방할 수 있게 해주는 응용 기술이 인공지능이다. 현재 5세대 언어의 사용이나 발전은 유아기 단계에 있어서, 상업용으로 사용될 수 있는 것은 거의 없다. 하지만 가까운 미래에 5세대 언어를 사용하여 개발한 전문가 시스템이 날씨를 예보하고, 병을 진단하고, 석유를 탐사할 장소를 결정하는 것을 도와줄 수 있을 것이다.
제5세대 언어 중 함수기반 언어인 LISP은 1958년 MIT에서 매카시(John McCarthy)에 의해 개발되었다. 이것이 가장 오래된 프로그래밍 언어 가운데 하나이긴 하지만, 새로운 기술 가운데 한 분야인 인공지능 연구에서 폭넓게 사용되어 왔다. 또 하나의 5세대 언어로서 논리기반 언어인 Prolog는 1972년 프랑스에서 개발되었다. 이 언어는 자연적이고 논리적인 구성으로 되어있기 때문에 처음으로 프로그래밍을 하는 사람이나 전문 프로그래머 모두에게 각종 응용을 작성할 수 있는 강력한 기능을 제공해 준다. 즉, 전문가시스템, 자연어 처리, 경영정보시스템 등이 그 응용 예가 될 수 있다. 또 Prolog는 인공지능 분야인 정리 증명, 관계형 데이터베이스 설계, 소프트웨어 공학, 자연어 처리, 지식 표현 및 전문가 시스템 프로그래밍에서 광범위하게 사용되고 있다.
현재 전문가나 지식기반 시스템은 C나 C++로 작성되는 것도 있긴 하지만 대부분 LISP와 Prolog로 프로그램 된다. 인공지능 언어를 개발하기 위해 LISP와 Prolog의 가장 좋은 기능들을 결합시키려는 노력이 최근에 시도되고 있으며, 따라서 5세대 언어가 가까운 미래에 새로운 모습으로 다시 태어나 영향력을 끼칠 수 있게 될 것이다.
로봇 전문기업 아이로봇사가 16일 오전 서울 광화문 가든플레이스에서 로봇청소기 \'3세대 룸바 리프레시\'를 출시하고 있다.
3세대 룸바 프로페셔널과 리프레시 버전은 기존 3세대 룸바의 업그레이드 버전으로 인공지능 시스템 구축이 가능한 어웨어 인텔리전트 시스템 6.0을 탑재, 로봇청소기 최초 \'블랙박스 시스템\'을 도입하여 제품의 충전시간, 사용시간, 주행 시간 등의 데이터를 상시 DB에 등록 가능하다.
19일 부산 벡스코에서 개막된 \'2009 부산국제신발섬유패션전시회\'에서 관람객들이 운동량 측정 신발과 성장을 촉진하는 신발 등 각종 기능성 신발들을 구경하고 있다. 신발과 섬유패션 산업의 최신 추세와 첨단기술 등을 한눈에 알수 있는 이번 전시회에는 국내외에서 278개 업체가 참가했다.
Prolog의 특징 3가지를 정리하면 다음과 같다.
1) 지식의 처리
일반 프로그래밍 언어들이 자료 처리를 위하여 구성되었다면, 지식의 처리를 위해서는 LISP와 Prolog가 많이 사용된다.
2) 퇴각 검색 (backtracking)
인공 지능이나 전문가 시스템 등의 응용 분야에서 문제 해결을 위해 사용되는 방법으로, 문제를 해결하던 중에 그 방법이 잘못되어 더 이상 진전할 수 없는 상황이 되면 가능한 가장 최근의 상태로 되돌아가서 다시 문제를 해결하는 방법이다. LISP보다 퇴각 검색(backtracking) 기능이 좋고, 프로그램의 구조가 한 단계 높다고 할 수 있어서 착오의 처리가 더 유리하다.
3) 제어구조
프로그램은 패턴매칭(pattern matching - unification이라 함)에 의해 제어된다. 즉, 위에서 아래로 실행되는 것이 아니라 실행 가능한 행이 프로그램 중에 패턴매칭에 의해 선택되어서 자동적으로 실행된다.
그리고 Prolog의 가장 큰 특징은 작은 양의 프로그래밍으로 더 많은 양의 작업을 자동적으로 수행할 수 있는 방법인 비절차적 프로그래밍을 사용하고 있는 것이 가장 큰 특징이라 하겠다.
3. Prolog 프로그램의 개념
우선 Prolog 프로그램은 다음과 같이 구성되어 있다.
1) 객체와 이 객체들 사이의 관계에 관한 사실들을 명세화함으로써 상황이나 실세계를 모델화(fact)
2) 개별적인 사물에 관한 사항보다는 어떤 범위의 사물이나 어떤 조건을 만족시키는 사항에 공통되는 성질이나 관계를 기술하는 규칙(rule)
3) 실제로 알고자 하거나 풀고자 하는 문제를 질문으로서 주는 목표(goal)
그리고 Prolog의 개념에 대하여 정리하여 보면,
1) 패턴대조에 의한(pattern matching)에 의한 program실행
2) 퇴각 검색(backtracking)에 의한 시행착오의 실현
3) 패턴대조에 의한 리스트의 처리
라고 말할 수 있다.
4. Prolog의 개발환경
Prolog 컴파일러
PROLOG 컴파일러
환경(H/W, OS, 기타)
개 발 회 사
AAIS Full Control
Macintosh Plus
Advanced AI Systems
Arity
DOS
Arity Co.
ALS
DOS, UNIX
Applied Logic Systems
BIM
SPARC, 8M RAM
BIM
Cogent
DOS
Amziod
Delphia
SPARC
Delphia
IF
DOS, UNIX, Windows
AmericanInterface Computer
LPA
DOS, Windows, Macintosh
Logic Programming Associates
n-parallel
DOS
Computer Systems Architects
PDC
DOS, OS/2, Windows
Prolog Development Center
Quintus
DOS, UNIX
Quintus Co.
5. Prolog, Lisp 등 논리형 프로그램의 응용분야
제5세대 언어(5GL)라 칭하는 프로그래밍 언어로는 논리언어, 함수언어, 그리고 자연어를 들 수 있다. 이들 언어는 종종 인공지능의 구현이나 전문가 시스템을 만드는데 사용된다. 컴퓨터가 인간 두뇌의 기능을 모방할 수 있게 해주는 응용 기술이 인공지능이다. 현재 5세대 언어의 사용이나 발전은 유아기 단계에 있어서, 상업용으로 사용될 수 있는 것은 거의 없다. 하지만 가까운 미래에 5세대 언어를 사용하여 개발한 전문가 시스템이 날씨를 예보하고, 병을 진단하고, 석유를 탐사할 장소를 결정하는 것을 도와줄 수 있을 것이다.
제5세대 언어 중 함수기반 언어인 LISP은 1958년 MIT에서 매카시(John McCarthy)에 의해 개발되었다. 이것이 가장 오래된 프로그래밍 언어 가운데 하나이긴 하지만, 새로운 기술 가운데 한 분야인 인공지능 연구에서 폭넓게 사용되어 왔다. 또 하나의 5세대 언어로서 논리기반 언어인 Prolog는 1972년 프랑스에서 개발되었다. 이 언어는 자연적이고 논리적인 구성으로 되어있기 때문에 처음으로 프로그래밍을 하는 사람이나 전문 프로그래머 모두에게 각종 응용을 작성할 수 있는 강력한 기능을 제공해 준다. 즉, 전문가시스템, 자연어 처리, 경영정보시스템 등이 그 응용 예가 될 수 있다. 또 Prolog는 인공지능 분야인 정리 증명, 관계형 데이터베이스 설계, 소프트웨어 공학, 자연어 처리, 지식 표현 및 전문가 시스템 프로그래밍에서 광범위하게 사용되고 있다.
현재 전문가나 지식기반 시스템은 C나 C++로 작성되는 것도 있긴 하지만 대부분 LISP와 Prolog로 프로그램 된다. 인공지능 언어를 개발하기 위해 LISP와 Prolog의 가장 좋은 기능들을 결합시키려는 노력이 최근에 시도되고 있으며, 따라서 5세대 언어가 가까운 미래에 새로운 모습으로 다시 태어나 영향력을 끼칠 수 있게 될 것이다.
로봇 전문기업 아이로봇사가 16일 오전 서울 광화문 가든플레이스에서 로봇청소기 \'3세대 룸바 리프레시\'를 출시하고 있다.
3세대 룸바 프로페셔널과 리프레시 버전은 기존 3세대 룸바의 업그레이드 버전으로 인공지능 시스템 구축이 가능한 어웨어 인텔리전트 시스템 6.0을 탑재, 로봇청소기 최초 \'블랙박스 시스템\'을 도입하여 제품의 충전시간, 사용시간, 주행 시간 등의 데이터를 상시 DB에 등록 가능하다.
19일 부산 벡스코에서 개막된 \'2009 부산국제신발섬유패션전시회\'에서 관람객들이 운동량 측정 신발과 성장을 촉진하는 신발 등 각종 기능성 신발들을 구경하고 있다. 신발과 섬유패션 산업의 최신 추세와 첨단기술 등을 한눈에 알수 있는 이번 전시회에는 국내외에서 278개 업체가 참가했다.
추천자료
C++과 JAVA의 자료형의 차이점
JAVA에 대하여
자바 기반의 보안 프로그래밍
컴퓨터 프로그래밍 언어의 종류
[자바][JAVA][자바(JAVA) 문장표현][자바(JAVA) 폼편집][자바 Class선언]자바(JAVA) 개념, 자...
[자바][JAVA][자바스크립트]자바(JAVA)의 의미, 자바(JAVA)의 특징, 자바(JAVA)의 유래, 자바...
자바 & 데이터베이스 연동 은행 업무 시스템 JDBC
[객체지향][객체][객체지향 언어][객체지향 JAVA언어][자바언어][UML언어]객체지향의 개념, ...
c언어 자바(JAVA)의 변수와 자료형
소개글