현실감각 0% :: '컴퓨터 관련' 카테고리의 글 목록

컴퓨터 관련 2016.07.21 16:57

에어컨 작동을 위한 퍼지 추론 예제



기온과 습도를 퍼지집합화 하고 이를 이용하여 퍼지 추론하는 예제

퍼지라는 녀석이 알면 쉽고 간단한데도 불구하고 수식의 압박으로 이해가 힘든 사람(나 포함)이 있을것을 우려해서 이해하기 쉬운 예제를 하나 올려봅니다. 따로 기본적인 수식이나 이론은 최대한 배제하였음요.

넘나 간단한것!



X = 온도

Y = 습도

Z =에어컨 ON/OFF

라고 할 경우


[퍼지함수]

X = {A1(덥지않다), A2(약간덥다), A3(매우덥다)}

Y = {B1(건조하다), B2(약간습하다), B3(매우습하다)}

Z = {C1(에어컨 최대출력), C2(에어컨 70%출력), C3(에어컨 40% 출력), C4(에어컨 OFF)}


[퍼지규칙]

규칙1 : if X is A1 and Y is B1 then Z is C4

규칙2 : if X is A1 and Y is B2 then Z is C3

규칙3 : if X is A1 and Y is B3 then Z is C3

규칙4 : if X is A2 and Y is B1 then Z is C3

규칙5 : if X is A2 and Y is B2 then Z is C2

규칙6 : if X is A2 and Y is B3 then Z is C1

규칙7 : if X is A3 and Y is B1 then Z is C2

규칙8 : if X is A3 and Y is B2 then Z is C1

규칙9 : if X is A3 and Y is B3 then Z is C1


[예제]

온도 28도, 습도 74%인 경우...

μA1(X') = 28, μB1(Y') = 74


Mamdani 방법 = MIN(μA1(28), μB1(74))


A1 and B1 의 경우 = MIN(0, 0) = 0


A1 and B2 의 경우 = MIN(0, 0) = 0

A1 and B3 의 경우 = MIN(0, 1.0) = 0

.

.

.

생략

.

.

.


A2 and B3 의 경우 = MIN(0.75, 1.0) = 0.75

A3 and B3 의 경우 = MIN(0.5, 1.0) = 0.5


[규칙 계산]

규칙1 : C4 = 0

규칙2 : C3 = 0

규칙3 : C3 = 0

규칙4 : C3 = 0

규칙5 : C2 = 0

규칙6 : C1 = 0.75

규칙7 : C2 = 0

규칙8 : C1 = 0

규칙9 : C1 = 0.5


[Mamdani 방법 결과]

에어컨 최대출력!!!



[무게중심법 계산]

수식

∑(퍼지함수 결과값 * 소속값(에어컨 출력값%)) / ∑(퍼지함수 결과값) = 결과


[무게중심법 결과]

0 * 0% + 0 * 40% + 0 * 40% + 0 * 40% + 0 * 70% + 0.75 * 100% + 0 * 70% + 0 * 100% + 0.5 * 100% 

/ 0 + 0 + 0 + 0 + 0 + 0.75 + 0 + 0 + 0.5 = 156.25% 출력...ㄷㄷ



맘다니 방법은 에어컨, 세탁기 등 각종 가전제품의 인공지능을 구성할 때 쓰는것이 좋고

무게중심법은 인식이나 예측 등에 응용해서 사용하면 좋을듯




컴퓨터 관련 2016.03.04 11:15

[C++] C2039 ATL의 멤버가 아닙니다 오류 해결법



C++을 하도 안써서 막 까먹고 있던 찰나에 자그마한 임베디드컴팩트 관련 관련 프로젝트를 하게되서 이것저것 해보는데

C2039 ATL의 맴버가 아닙니다. 뭐 이런 오류가 뜨더니만 클릭해보니

inline int ocslen(_In_z_ LPCOLESTR x) throw() { return ATL::lstrlenW(x); }

lstrlenW 이놈한테 오류가 잡혀있었다.


그래서 막 구글에서 검색하다보니까 어떤 중국사람이 올려놓은거 발견!!

http://blog.csdn.net/wzwind/article/details/9281987


구글번역기 돌려서 대충 해석해보자면 해결법은 그냥 아래 다운로드센터가서 ATL 업데이트 받으면 그냥 해결 -ㅅ-;;;

http://download.microsoft.com/download/9/D/D/9DDBD3EC-A43C-4BCE-A7A9-AEE9B1007BCE/VisualStudioDeviceWindowsEmbeddedCompact7.msi






컴퓨터 관련 2015.07.27 17:59

asmx 웹서비스를 GET 방식으로 호출하기



아두이노에서 asp.net 웹서비스를 불러오려면 열라 귀찮은 작업들을 해야해서 GET 방식으로 간단히 실행하려 하는데 아무리해도 안되서 3시간동안 소스 여기저기 수정하고, .Net 환경 다시 깔아보기도 하고, 서버 설정도 변경해보고 할수있는 삽질은 모두 하다가 구글 검색해서 알아냄-_-;;

우선 서버의 asmx 파일이 있는 폴더에 들어간 후
web.config 파일을 메모장이나 뭐 아무 에디터를 이용해서 열고
<system.web></system.web> 사이에


<webServices>
   <protocols>
      <add name="HttpGet"/>
   </protocols>
</webServices>

이 태그 몇줄 추가해주면 끝...-ㅅ-

Post방식을 쓰고싶으면 <add name="HttpGet"/> 요놈하고 같은 위치에

<add name="HttpPost"/>

이것도 한줄 추가!


나 오늘 3시간동안 뭐한거지...ㅠ