티스토리 뷰


필요한건..노드..링크..

노드에는 확률 테이블이 들어있고..

부모노드에 따라 확률 테이블은 가변적으로 변한다..

작동이 어떻게 돌아가는지는 나중에 생각하자..

일단은 틀을 만들고 나중에 수정하지뭐..

클래스는

Node, Link, ConditionalProbabilityTable

3개..

typedef로 ConditionalProbabilityTable을 CPT로 정의..

클래스 관계는..

노드 -> 링크 -> 노드 의 레퍼런스 참조..(NN)

나머지는 확률테이블이 있으니 ParentNodeList와 ChildNodeList로..

노드는 여러개의 상태를..

링크다수, 하나의 확률테이블을 가지고 있다.

일단 그런 관계만 설정하고..

Node는 AddLink(Node*), DelLink(Node*)이런것도 쓰자..

Node는 evidence명을 가져야하므로 std::string 타입으로 저장..

IsEvidence(std::string)과 IsEvidence(const char*) 편의를 위해 구현하고..

CPT는 이전 단계에 따라서 차원이 늘어나면서 커진다..

이거는 골치 아프네..가변차원배열을 만들기는 귀찮고..

그냥 2차원배열로 표현하고..

부모노드의 리스트는 가지고 있긴하지만...

Node안에 있지 CPT안에는 없으니..CPT에는 Node의 ParentNodeList를 참조하도록 설정..

일단 여기까지 구현하자..


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함