글
Logical Connectives
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
명제연산을 위한 연결사(connective) 혹은 논리연산자 (logical operator) 는 다음과 같다. ■ 부정(否定, negation) : 한 명제에 대하여 그것이 "아님"을 나타낸다. 따라서 명제가 참이면 그의 부정은 거짓이 되며, 명제가 거짓이라면 그의 부정은 참이 된다. 명제 P의 부정은 ∼P, ¬P, NOT P, P' 등으로 기호화 한다. ■ 논리곱(conjunction) : 논리적(論理積)이라고도 하며, 두 명제의 논리곱은 모두가 참일 때만 참이 되며, 어느 하나라도 거짓이면 거짓이 된다. P 와 Q의 논리곱은 P∧Q, P&Q, P AND Q, P•Q, PQ 등으로 표현한다. ■ 논리합(論理合, disjunction) : 두 명제의 논리합은 모두가 거짓일 때만 거짓이 되며, 어느 하나라도 참이면 참이 된다. 'P OR Q' 라는 표현은, 영어 'or' 의 일반적인 의미에 따르면 아래의 배타적논리합과의 혼동을 초래할 수 도 있다는 점에 유의하여야 한다. P와 Q 의 논리합은 P∨Q, P OR Q, P+Q 등과 같이 표현한다 ■ 배타적논리합(exclusive disjunction) : 두 개의 명제 중 어느 하나만이 참일때 결과값이 참이 되는 경우를 배타적논리합이라고 한다. 즉, 두 명제가 모두 참이거나 거짓이면 그 결과는 거짓이 된다. exclusive or 는 P△Q, P EOR Q, P XOR Q, P Q 등으로 나타낸다. ■ 조건(conditional) 혹은 함의(含意, implication) : 'P →Q' 는 조건명제로서 '(만일) P이면 Q 이다.' 라고 읽는다. P가 참이고 Q 가 거짓일 때만 P → Q는 거짓이 되고 , 그 외의 경우에 대해서는 참이 된다. 여기에서 P는 전건
Wumpus World
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Wumpus World는 인공지능 중에서도 문제 해결(Problem Solving; PS) 분야의 문제로써 매우 유명한 예제이다. Logical Agents를 사용 하여 해결하는 문제이며, Logical Agent는 환경에 대한 정보와 판단으로 구성되어있다. 로봇의 이동, 환경의 변화와 같은 입력 값에 따라 Logical Agent의 환경에 대한 정보, 판단의 내용이 바뀌게 되며 이에 따라 다음 행동을 결정한다. Wumpus는 괴물의 이름이며, Wumpus가 살고 있는 동굴을 가리켜 Wumpus World라고 한다. 동굴의 환경은 4가지가 있다. - 평범한 바닥 (Floor) - 괴물 (Wumpus) - 구덩이(Pit) - 보물(Gold) 이 문제의 목적은 출제자에 따라 다르지만 가장 큰 목적은 구덩이와 괴물을 피해 보물이 있는 곳까지 도달하는 것이다. 문제에 따라 보물을 획득하고 괴물의 위치를 파악하여 괴물을 죽이라는 과제가 추가되기도 한다. 이 동굴의 특징은 여러 개의 방으로 이루어져 있으며, 동굴 전체는 칠흑같이 어두워서 탐험가(Explorer)가 들고 있는 횃불로는 현재 위치하고 있는 방의 정보 밖에 알 수 없다. 또한 탐험가는 현재 있는 위치에서 전, 후, 좌, 우 네 방향으로 움직일 수 있으며, 가지고 있는 활을 사용하여 괴물을 죽일 수 있다. 하지만 탐험가는 자신이 있는 곳 밖에 볼 수 없기 때문에, 안전한 탐험을 위해서는 동굴의 상태(state)를 알아야 한다. 상태는 총 3가지가 있으며 다음과 같다. - 악취(Stench): 괴물의 전, 후, 좌, 우 4방향은 악취가 풍기게 된다. - 산들바람(Breeze): 구덩이가 있는 방의 전, 후, 좌, 우 4방향은 구덩이로부터 올라오는 산들 바람이 느껴진다. - 반짝거림(Glitter): 보물이 있는 방에 들어서면 방 어딘가에 있는 보물의 반짝거림을 느낄 수 있다. Wumpus World의 핵심은 현재
소프트웨어 프로젝트 생존전략 - [3부]
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
1부 생존을 위한 사고방식 1장 살아남기 위한 방법 2장 소프트웨어 프로젝트 생존테스트 3장 생존의 개념 4장 생존의 기술 5장 성공적인 프로젝트란? 2부 생존 준비 6장 움직이는 표적 맞추기 – 변경통제(change control)에 대해 7장 사전 계획 8장 요구사항 개발 9장 품질 보증 10장 아키텍처 11장 최종준비 3부 단계에 의한 성공 12장 단계 계획 수립의 시작 단계별 계획을 시작할 때는 해당 단계에서 수행될 작업의 상세한 과정에 대한 단계 시작 시의 계획을 수립한다. 프로젝트 팀은 해당 단계의 상세설계, 코딩, 테크니컬 리뷰, 테스트, 통합 및 기타 작업을 수행하는 방법에 관한 개별 단계 계획을 수립한다. 이때 가장 많은 노력이 필요한 작업은 해당 단계의 프로젝트 진척도를 추적하기 위한 상세 마일스톤 목록을 작성하는 것이다. 이러한 마일스톤을 생성하려면 많은 수고를 해야 하지만, 이를 통해 프로젝트 상태를 쉽게 파악할 수 있고 리스크를 줄일 수 있으므로 그만한 가치가 있다. 단계별 납품 방식은 개발 팀이 프로젝트를 진행하면서 여러 번 소프트웨어를 릴리즈 가능한 상태로 만들게 한다. 이렇게 하는 것이 품질 저하 위협을 줄이고, 상대에 대한 가시성을 높이며, 일정 지연을 예방할 수 있는 방법이다. 따라서 각 단계를 시작할때 계획을 세우면서 열정을 다해야 하는 것 처럼, 이 단계에도 많은 동기 부여가 필요하다. 요구사항 업데이트 상세설계 구축 테스트 사례 작성 사용자 문서 업데이트 테크니컬 리뷰 결함 수정 기술적 조정 작업 리스크 관리 프로젝트 추적 통합 및 릴리즈 단계정리 ㅇ Binary Milestone A BinaryMilestone is a single Yes/No question or True/False statement. The MileStone has been reached when the answer is "Yes" or the stat