본문 바로가기
대학생활/수업

게임인공지능설계 4주차 - FSM

by se.jeon 2024. 3. 28.
728x90
반응형

인공지능 : SORA

영상 시청 : 이제 진짜 미친것 같습니다. SORA에서 방금 나온 믿기힘든 AI 영상

https://youtu.be/QyqPkJmRW98?si=q7erj2THRujdyor0

FSM

Finite State Machine, 유한 상태 기계에 대한 배경 지식

NPC의 행동양식을 구성할 때 가장 일반적으로 사용된다. 유한한 상태를 가지는 기계

인공지능과 심리학

- 진화 심리학 : 1만년전의 변화가 현재 심리의 근본을 형성하고 있다.

                        농업혁명의 발생 : 정착, 사유재산의 개념, 가부장제, 사회 형성

                        인간의 심리는 갑자기 형성된 것이 아니라 오랜 진화를 거치며 현세대의 심리 구조를 이해할 수 있다.

- 인지 심리학 : 어떤 상황을 인지(지각)하게 되면 전기 신호로 심리상태가 결정된다. (ex : 베버의 법칙)

* 베버의 법칙 : 자극을 인지할 때 중요한 것은 절대적인 수치가 아닌 비율이 중요하며,

                        변화의 차이가 미미하다면 감각은 그 자극을 무시하게 된다.

                        감각순응 : 일정한 자극에 지속적으로 노출될 때, 민감도가 약해지는 현상

                        영상 시청 : 눈 뜬 장님? 코앞에서 대화하던 사람이 바뀌어도 눈치 못채는 이유!

                        https://youtu.be/OsiSBYCC53E?si=94lEcAaL28Gq1prb

- 발달 심리학 : 사람은 성장하면서 심리상태도 발전한다.

                        모든 세대를 관통하는/ 좋아하는 유머/게임이 있을까?

                        사람은 초당 엄청난 비트의 정보를 감지한다.

                        하지만 의식적으로 처리하는 데이터는 대략 40비트에 불과하다.

 

 

인지 심리학은 지능을 다룬다.

그렇다면 지능은 무엇인가?

스턴버그의 삼원지능이론

- 구성적 요소 : 정보의 효율적 처리와 분석

- 경험적 요소 : 새로운 정보를 기존의 정보와 결합하여 새로운 결론을 도출

- 상황적 요소 : 환경에 대한 대처능력으로 실제적이고 현실적이다

 

어떤 결론을 내리기 위해서는 룰(규칙)이 필요하다.

그렇다면 규칙은 어떻게 만들 것인가? 규칙을 만드는 것은 조건이다.

조건이 구체적이고 다양할수록 판단이 쉬워진다.

 

경험은 학습을 통해 축적된다.

패턴을 통해서 경험을 축적할 수 있다.

학습은 새로운 것을 배우는 것이지만, 패턴은 미리 구축해 놓는 것이다.

FSM의 구성

어떤 조건하에서 객체가 상태변화를 일으키는 것

- 한 번에 하나의 상태만 가질 수 있음.

- 유한한 상태를 가지고 있다.

- 어떠한 사건에 의해 다른 상태로 전이된다.

- 유한 상태 오토마타, 밀리 머신, 무어 머신 등 여러 종류가 있으며, 기본 개념은 비슷하지만 약간씩 다른 정의를 가진다. (일반적으로 게임에서 사용하는 상태기계는 무어 머신)

 

상태

모든 게임 오브젝트는 항상 어떤 상태에 있어야 한다.

상태는 명확해야 한다. 상태는 원 또는 타원으로 표현하고, 상태의 이름을 원 안에 넣는다.

행동이 이루어지면 상태가 바뀔 수 있다.

아무 것도 안하고 있는 것도 "아무 것도 하지 않는" 상태이다.

 

게임 오브젝트가 어떤 행동을 하려 할 때에는 상태에 기반해야 한다.

행동과 상태는 비슷해보이지만, 구분해야 한다.

도망가는 상태에서 하는 공격은 행동이지. 상태가 아니다.

 

전이

상태가 다른 상태로 바뀌는 것을 전이라고 한다.

상태의 전이는 화살표로 표현한다. 화살표의 방향으로 상태가 바뀜을 알 수 있다.

 

사건

상태 전이를 위해서는 특정 조건을 만족해야 한다.

상태 전이의 조건은 화살표의 위 또는 아래에 구체적으로 쓴다.

 

장점

- 구현이 쉽고, 시각화하기 쉬워서 설계, 디버깅등의 개발 전과정에 도입이 유리하다.

- 유한 상태기계의 연구가 활발하여, 형식적 정의 및 최적화 알고리즘에 대한 정보를 쉽게 얻을 수 있다.

- 유한 상태 기계는 게임에서 매우 잘 동작함이 오랜시간 증명 되었으며, 사실상 가장 인기 있는 인공지능 기법이다.

- 상태를 추가하거나 제거할 때 로직의 완성도를 쉽게 유지할 수 있다.

 

단점

- 유한 상태기계의 규모가 커지면서 설계가 매우 복잡해질 수 있다.

- 계산적으로 제한된 범위의 문제에만 적용 가능하다.

- 유한 상태 기계는 여러가지 간단한 작업에는 부적합하다.

- 유한 상태기계의 규모가 커지면서 설계가 매우 복잡해질 수 있다.

- 계산적으로 제한된 범위의 문제에만 적용 가능하다.

- 유한 상태 기계는 여러가지 간단한 작업에는 부적합하다.

- 절차적 제어를 처리하는 데 있어 문제가 생길 수 있다.

- 출력은 예측 가능성이 높은데, 이는 행동 양식을 만들고자 할 때 반드시 바람직한 특성이라고 할 수 없다.

 

자판기 작동 방식 FSM 제작 실습 진행

728x90
반응형