정의
- 논리 회로를 사용하여 시스템 내 문제에 대한 사실과 규칙이 표현되거나 표현되는 방식을 제어하는 일종의 프로그래밍 패러다임이다.
- 논리 프로그래밍을 사용한 계산은 사용 가능한 모든 데이터를 기반으로 논리적 추론을 통해 수행된다.
- 컴퓨터 프로그램이 논리 프로그래밍을 활용하려면 술어가 있어야 한다.
- 술어는 실제 사실을 기술하는 원자 공식이나 원자를 만드는 데 사용된다.
- 술어와 원자는 수식을 만들고 쿼리를 수행하는 데 사용된다.
- 논리 언어는 관련 데이터를 표시하기 위해 쿼리에 가장 자주 의존한다.
- 쿼리는 수동 개입 없이 실행할 수 있는 기계 학습의 일부로 존재할 수 있다.
- 규칙은 절 형식으로 작성된다.
- A :- B1, …, Bn.
- A : 규칙의 Head, B1, …, Bn : 규칙의 Body, Bi를 리터럴(Literals) 혹은 conditions라고 한다.
특징
자연어 처리(NLP)
- 인간과 컴퓨터 간의 더 나은 상호 작용을 가능하게 한다.
- NLP는 인간의 언어를 실시간으로 들은 다음 이를 컴퓨터로 처리하고 번역할 수 있다.
- 이를 통해 기술은 자연어를 “이해”할 수 있다.
- NLP는 음성 언어에만 국한되지 않으며 NLP를 활용하여 실제 인쇄물과 같은 문서를 읽고 이해할 수도 있다.
데이터베이스 관리
- NoSQL 데이터베이스의 생성, 유지 관리 및 쿼리에 논리 프로그래밍을 사용할 수 있다.
- 논리 프로그래밍은 빅 데이터로 데이터베이스를 생성할 수 있다.
- 프로그래밍은 어떤 정보가 적절하게 프로그래밍 되었는지 식별하고 이를 적절한 영역에 저장할 수 있다.
- 그 뒤 사용자는 특정 질문으로 데이터베이스를 쿼리할 수 있으며 논리 언어는 모든 데이터를 신속하게 선별하고 분석을 실행하며 추가 작업 없이 관련 결과를 반환할 수 있다.
데이터베이스 관리
- 대규모 데이터 세트를 사용하면 논리 언어가 예측을 위해 불일치 또는 차별화 영역을 검색할 수 있다
- 이는 잠재적으로 위험한 활동을 식별하거나 고장을 예측하는데 유용할 수 있다.
- 또한 사진을 분석하고 이미지를 중심으로 예측하는 데 사용할 수 있다.