Q learning은 Q값을 바탕으로 강화학습을 하는 학습방법이다.
fuzzy-Q-learning이라는것도 있다는데.. 머가 먼지..


아무튼 강화학습 법은 일종의 '수렴'을 이용하는 학습방법으로
매번 반복시 weight 값(가중치)이 있어 어느 정도 값이 되면(수렴되면) 학습이 되어,
유사한 값들에 대해서는 같은 결과가 나오게 된다.

좋게 말하면 학습이고, 나쁘게 말하면, 그냥 수학일 뿐이다..
(신경망 역시 수렴이라는 수학을 기반으로 작동하므로.. 그리고 신경망은 뉴런을 시뮬레이션 한거니..)



가끔은 이런생각이 든다.
굳이 구조적으로 다른 인간의 뉴런과, cpu의 논리회로를 왜 인간의 뉴런에 맞추어서 지능이라는 것을 구현해야 하는 것일까?
비록 인간의 형상과 인간의 사고방식을 따르지 않더라도, 그에 맞는 지능이 생겨날수 있을텐데 왜
'인간'이라는 것에 강조를 하고 강요를 해야 하는걸까..

[참고 : http://en.wikipedia.org/wiki/Q-learning]
[참고 : http://bi.snu.ac.kr/Publications/Conferences/Domestic/KISS01F_LeeSJ.pdf]

'개소리 왈왈 > 인공지능' 카테고리의 다른 글

ai가 인간의 범주를 넘어섰다라..  (0) 2017.07.26
인공지능에게 시간과 연산량  (0) 2017.06.12
오랫만에 뻘글 - 인공지능과 인간의 몰락  (0) 2016.12.12
알파고 2승  (0) 2016.03.10
openAI  (0) 2015.12.13
Posted by 구차니
Programming/C Win32 MFC2009. 4. 29. 12:06
글쓸 꺼리를 준 친구 녀석에게 감사를 ㅋㅋ

간단하게 설명을 하자면,
for문을 돌릴때 어느 시점에서 증가가 이루어지고, ++연산자가 적용되는 시점, 그리고 연산자 우선순위 대한 문제이다.
(개인적으로 이런 문제 싫어 한다. 가독성 지랄 같이 하면 다른 사람이 어떻게 수정하라고 ㄱ-)
아무튼 for문의 ([초기화];[조건];[증가]) 에서 증가문은 마지막 닫히는 } 부분에서 증가가 이루어 지고,
이로 인해서 더해지는 값이 달라지는 현상이 발생이 되게 된다.
65짜리는 2에서 11 까지 더하게 되고
55짜리는 1에서 10 까지 더하게 된다.

같은 i < 11 조건이지만,
증가되고 더해지고, 더해지고 증가됨의 차이가 있기 때문에 결과는 55와 65로 벌어지게 된다.


원본 코드 - 결과 65 짜리
sum = 0 ;
i = 1 ;
for( ; i<11 ;)
    sum += ++i ;

변형된 코드 1 - for문에 초기화 넣어줌
for(sum = 0,i=1;i<11;)
    sum += ++i;

변형된 코드 2 - while문으로 변형
sum = 0 ;
i=1;
while(i<11)
{
    sum += ++i;
}
변형된 코드 3 - goto문으로 변형
sum = 0 ;
i = 1;
while_loop:
{
    if(i<11) ;
    else break;

    ++i;
    sum += i;
}
goto while_loop:

원본 코드 - 결과 값 55 짜리
sum = 0 ;
i = 1 ;
for( ; i<11 ; ++i)
sum += 1 ;

변형된 코드 1 - for문에 초기화 넣어줌
for(sum = 0,i=1;i<11;++i)
    sum += 1;


변형된 코드 2 - for문에 초기화 넣어줌
sum = 0 ;
i=1;
while(i<11)
{
    sum += 1;
    ++i;
}

변형된 코드 3 - goto문으로 변형
sum = 0 ;
i =1;
while_loop:
{
    if(i<11) ;
    else break;

    sum += 1;
    ++i;
}
goto while_loop:
Posted by 구차니
예전에 8만원 주고 사온 데탑이 덜덜덜 떨어대고 시끄러워서 쿨러를 덧대고 쑈를 했었는데
그냥 겸사겸사 시간을 내서 분해를 하고, 먼지도 털어주고 쿨러도 떼어낼까 고민을 하면서 파워 서플라이를 분해 해보았다.

250W 묻지마 파워 / Mini ATX 규격?

내부 콘덴서(캐패시터) 부풀어 오른 자국 1... OTL

내부 콘덴서(캐패시터) 부풀어 오른 자국 2 ... OTL

문제의 파워 서플라이 쿨러. 그냥 기름칠 해줬더니 잘 돈다..

아마도.. 쿨러의 윤활유가 다 굳어 버리면서 팬이 안돌고, 그로 인해 발열이 심해지고
그러면서 저항이 늘어서 효율이 떨어지게되고, 캐패시터는 부풀어 오르고, 열은 높아지니 팬은 더더욱 돌고
그런 악순환이 계속 된듯하다. 표준 80mm 팬보다는 두께가 얇아서 그냥 교체는 불가능했고
그냥 자전거 체인용 테프론 윤활제를 한방울 톡~!

그랬더니 엄청 조용하게 잘 작동한다. 일단 저전력을 위해서 Quardro2 pro AGP 역시 제거된 상태
현재 케이스 안에는 80GB 하드 하나뿐이다 ^^;(LAN/그래픽은 온보드 사용)


2009/04/05 - [개소리 왈왈] - 오 마이 갓! - 쿨러 방향에 주의하세요
2009/04/13 - [개소리 왈왈] - 일요일에 한 짓들

Posted by 구차니
이야기 1. would you please~~~~~ 닥쳐줄래?

버스->지하철->버스를 타고 출근을 하는데
요즘에는 목이 아파서인지 덜 피곤해서인지(솔찍히 잠은 하루에 5시간 정도 밖에 못잔다 ㅠ.ㅠ)
지하철의 각종 소음에 잠을 이루지 못한다.

맞은편에 정장을 차려입은 멋진 남자분께서
아마도 이번에 나온 LG 핸드폰에 내장된 두뇌개발 프로그램을 하는거 같았는데..
또롱~ 또롱~ 나러ㅣ너라ㅣ어라ㅣㄴ어리ㅏㄴㅇ러
또롱~ 또롱~ 마어리마어리ㅏ어라ㅣㅇ너리ㅏㅁㄴ
...
근 10분을 넘게 들으니 머리는 아파오고 잠도 꺠오고
그래서 계속 째려보고 있다가. 승질이 나서 한마디 하게했다 ㄱ-

"저기요 소리좀 꺼주시면 안될까요?"




근데 이 총각... (아마도 음악을 듣기 위해) 이어폰 꼽고 게임하니까 소리가 안들려서 조용하디?
그런데.. 그렇게 시끄러운데도 아무도 먼저 나서서 조용해달라는 사람도 없고...











이야기 2. 택시에 헤드샷 당할 뻔 하다!
하루 일과 중 오전에 가장 신나는 것은 아마도.. 출근길에 삼각김밥 하나의 행복이 아닐까 싶다.
오늘도 여전히 지하철에서 오물오물 하면서 삼각김밥을 먹으며 버스를 타러 가는데
...
삼각김밥을 해체하는데 김이 양쪽으로 잘렸다 ㄱ-
가운데 배를 가르고 양쪽에 비닐을 벗기는데 양쪽 모두 김이 잘려 버린것이다!! OTL

오마이 갓~ 나의 사랑 김 ㅠ.ㅠ

이라고 하면서 빼내려고 용을 쓰는데 바람에 날아갔다.
간만에 착한 짓하려고 날아간 쓰레기를 주을려는데..

갑자기 시야에 먼가 검은게 보였다.
그래도 조상님의 은덕인지 빛과 같은 속도로 행동을 멈추었더니..
고개를 드니 택시기사와 눈이 마주친다.

.... (꾸닥)

이거 웬지 모르게 자해공갈단으로 인식이 되어 버린거 같기도 하고 -ㅁ-
생각해보니.. 택시에 헤드샷 당할뻔 한거잖아? 죽다 살아났네 덜덜덜
Posted by 구차니
Linux2009. 4. 28. 00:40
JPEG 관련 free 라이브러리를 제공하는 홈페이지이다.
검색을 해보니 jpeg decompress를 하면 bmp으로 나오도록 지원을 하는 듯 하다.

/////////////////////////////////////////////////////////////////////////////
// Creation 30/12/2003                                               
// 
// 
//                             JPG2BMP.C
//                             ---------
// 
// 
// Sylvain MARECHAL - sylvain.marechal1@libertysurf.fr
/////////////////////////////////////////////////////////////////////////////
// 
//  Convert a jpg to a bmp file
//  look at jpeg-6b/djpeg.c for more details
// 
/////////////////////////////////////////////////////////////////////////////
#include "cdjpeg.h"		/* Common decls for cjpeg/djpeg applications */
#include "jversion.h"		/* for version message */

#include "ctype.h"		/* to declare isprint() */

#ifdef USE_CCOMMAND		/* command-line reader for Macintosh */
#ifdef __MWERKS__
#include "sioux.h"              /* Metrowerks needs this */
#include "console.h"		/* ... and this */
#endif
#ifdef THINK_C
#include "console.h"		/* Think declares it here */
#endif
#endif
#include "jpg2bmp.h"		/* for version message */


/* Create the add-on message string table. */
/*
#define JMESSAGE(code,string)	string ,

static const char * const cdjpeg_message_table[] = {
#include "cderror.h"
  NULL
};
*/
//#define MAIN
#ifdef MAIN
// The test program
int main( int argc, char * argv[] )
{
    if( argc != 3 )
    {
	printf( "Usage : %s [file_in.jpg] [file_out.bmp]\n" );
	return 1;
    }
    return Jpg2Bmp( argv[1], argv[2] );
}
#endif



int Jpg2Bmp( char * pszJpgFile, char * pszBmpFile )
{
  struct jpeg_decompress_struct cinfo;
  struct jpeg_error_mgr jerr;
  djpeg_dest_ptr dest_mgr = NULL;
  FILE * input_file;
  FILE * output_file;
  JDIMENSION num_scanlines;

  /* Initialize the JPEG decompression object with default error handling. */
  cinfo.err = jpeg_std_error(&jerr);
  jpeg_create_decompress(&cinfo);
  /* Add some application-specific error messages (from cderror.h) */
//  jerr.addon_message_table = cdjpeg_message_table;
  jerr.first_addon_message = JMSG_FIRSTADDONCODE;
  jerr.last_addon_message = JMSG_LASTADDONCODE;

  /* Open the input file. */
  if ((input_file = fopen(pszJpgFile, READ_BINARY)) == NULL) {
      return -1;
  }

  /* Open the output file. */
    if ((output_file = fopen(pszBmpFile, WRITE_BINARY)) == NULL) {
      return -1;
    }

  /* Specify data source for decompression */
  jpeg_stdio_src(&cinfo, input_file);

  /* Read file header, set default decompression parameters */
  (void) jpeg_read_header(&cinfo, TRUE);

  /* Adjust default decompression parameters by re-parsing the options */
  //file_index = parse_switches(&cinfo, argc, argv, 0, TRUE);

  /* Initialize the output module now to let it override any crucial
   * option settings (for instance, GIF wants to force color quantization).
   */
    dest_mgr = jinit_write_bmp(&cinfo, FALSE);
  dest_mgr->output_file = output_file;

  /* Start decompressor */
  (void) jpeg_start_decompress(&cinfo);

  /* Write output file header */
  (*dest_mgr->start_output) (&cinfo, dest_mgr);

  /* Process data */
  while (cinfo.output_scanline < cinfo.output_height) {
    num_scanlines = jpeg_read_scanlines(&cinfo, dest_mgr->buffer,
					dest_mgr->buffer_height);
    (*dest_mgr->put_pixel_rows) (&cinfo, dest_mgr, num_scanlines);
  }

  /* Finish decompression and release memory.
   * I must do it in this order because output module has allocated memory
   * of lifespan JPOOL_IMAGE; it needs to finish before releasing memory.
   */
  (*dest_mgr->finish_output) (&cinfo, dest_mgr);
  (void) jpeg_finish_decompress(&cinfo);
  jpeg_destroy_decompress(&cinfo);

  /* Close files, if we opened them */
    fclose(input_file);
    fclose(output_file);

  /* All done. */
  return jerr.num_warnings ? -1 : 0;
}


[예제 : ce.sharif.edu/~haghshenas/files/c/jpg2bmp.c]

[공식 : http://www.ijg.org/]
Posted by 구차니
Linux2009. 4. 28. 00:35

Name

convert - convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

Synopsis

convert input-file [options] output-file

Overview

The convert program is a member of the imagemagick(1) suite of tools. Use it to convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

For more information about the convert command, point your browser to file:///usr/share/doc/ImageMagick-6.2.8/www/convert.html or http://www.imagemagick.org/script/convert.php.

Run 'convert -help' to get a summary of the convert command options.

See-also

imagemagick(1)

Copyright

Copyright (C) 1999-2005 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see http://www.imagemagick.org/script/license.php


[링크 : http://linux.die.net/man/1/convert]


리눅스에서 이미지 파일 포맷이나 크기 등을 변환해주는 프로그램이다.
상당히 유용해 보이지만, 마지막에 copyright로 인해서 상용제품에는 쓰는데 상당히 제약이 있을 것으로 보인다.
Posted by 구차니
Linux/Ubuntu2009. 4. 28. 00:04
음.. 아직까지는 괜찮겠군

오늘.. 잠자리에 들기는 글른건가?


멀 이리도 많이 삭제하려는건지 모르겠다만.. 웬지 보기에는.
필요 없는데 내가 설치를 한 녀석들 같은 느낌.. 자동으로 삭제 해주는 착한 센스?

'Linux > Ubuntu' 카테고리의 다른 글

ubuntu 내장 VNC 서버 - vino-server  (0) 2009.04.30
삼바 설치하기  (0) 2009.04.29
gnome-avrdude 컴파일하기  (6) 2009.04.27
ubuntu와 fedora의 비교  (0) 2009.04.26
Ubuntu에 VNC 설정하기  (0) 2009.04.25
Posted by 구차니
개소리 왈왈/영화2009. 4. 27. 23:32

갈수록 사진 찍는 기술만 늘어 가는 1인

'개소리 왈왈 > 영화' 카테고리의 다른 글

박물관이 살아있다 2  (2) 2009.06.06
Terminator Salvation - 터미네이터4 (2009)  (6) 2009.05.23
곰팅이!  (0) 2009.04.26
노잉(knowing) 울트라 초초초 스포일링 (2009)  (2) 2009.04.19
간만에 사진 업데이트  (3) 2009.03.20
Posted by 구차니
개소리 왈왈2009. 4. 27. 18:55
컴퓨터 매장에 한 손님이 찾아와 물었다.
"그래픽이 화려한 미스터리 어드벤처 게임을 찾고 있는데요. 추천해주실 만한 게 있나요?"
 잠시 후 점원이 말했다.
 



"윈도우 비스타 해 보셨어요?"

[링크 : http://media.daum.net/economic/view.html?cateid=1006&newsid=20090427183510058&fid=20090427183904177&lid=20090427183316904]

'개소리 왈왈' 카테고리의 다른 글

5월 1일 그리고 3박 4일 여행  (6) 2009.05.01
sho~~~~oes (부제 : 신발 여러개)  (0) 2009.04.29
출근길의 풍경  (0) 2009.04.23
블로그 이미지 다이어트를 했습니다!  (4) 2009.04.23
강동구 전자도서관  (4) 2009.04.21
Posted by 구차니
아이디어!2009. 4. 27. 10:30
4호선에 자주 가다 보니..
열차가 어디에서 오고 있는지 보여주는 TV가 있는데

그렇게 비싼 돈이 들어 가는 장치가 아니더라도
최소한 열차가 들어 오는 소리가 날때 왼쪽인지 오른쪽인지 알려주는 정도의
신호등(?)이 있으면 좋겠다는 생각이 든다.


음... 이거 달면 "뛰다가 다쳐서 안되니 없애" 라는 이야기가 나올려나?

'아이디어!' 카테고리의 다른 글

mp3 쇳소리를 없앨수 있다면?  (0) 2009.06.02
자동으로 리부팅 되는 공유기 없나?  (0) 2009.04.29
미래형 자동차  (2) 2009.04.09
돈지랄 노트북의 미래  (2) 2009.04.09
HID 문제점 저렴한 해결방법  (0) 2009.03.14
Posted by 구차니