본문 바로가기

Java - K-means Algorithm K-means Algoritm (K평균 군집화 알고리즘) K-means (MacQueen, 1967) 은 유명한 군집화 (Clustering) 문제를 해결하는 가장 간단한 자율학습 (Unsupervised Learning) 알고리즘중 하나이다. 사전에 정해진 어떤수의 클러스터를 통해서 주어진 데이터 집합을 분류하는 간단하고 쉬운 방법. k-means 는 partitional clustering 에 속한다. data 이외에 cluster 의 수 k를 input 으로 하며 이때 k를 seed point 라고 한다. seed point 는 임의로 선택되며 바람직한 cluster 구조에 관한 어떤 지식들이 seed point를 선택하는데에 사용될 수 있다. Forgy' algorithm 과 다른점은 하나의 sa..
Java - 최적화된 회전 방향 결정 AI 공부하면서 플로킹 알고리즘에 써먹던 건데 예에에전에 이거 생각하느라 고생 좀 해서 올려봤다. // 타겟과의 각거리를 이용해 최적화된 회전방향을 결정. '1' = cw '-1' = ccw public int decAngle(Point2D.Double target){ return decAngle(getTargetAngle(target)); } public int decAngle(double targetAngle){ double angleDelta = targetAngle - angle; int dec = 0; if((targetAngle > 0.5 * Math.PI || angle 0.5 * Math.PI || targetAngle < 1.5 * Ma..
[소소한팁] 기타 넥 관리 기타 습도관리가 힘든 여름 장마철이다. 여름철이라 내기타도 모가지가 앞으로 굽어 애가 탔는데, 그래서 넥관리에 대한 글좀 이리저리 찾아보았다. 기타는 여름엔 목이 앞으로 굽고, 겨울엔 뒤로 굽는다. 트러스로드를 과감하게 돌려주자. 기타는 생각보다 튼튼하게 만들어지기 때문에 그정도로는 목이 안부러진다.. 렌치가 휠정도로 돌려도 왠만해선 안부러진다고 하니... -,.- 왠지 믿기진않지만. 어쨌든 안돌아갈때까지 돌리고 또 몇번 더 돌려도 버틴다고 한다. (내것도 그렇더라.) '가끔가다 렌치 잘못돌리다 목이 뿌러졌어요' 하는 글들도 간간히 보이는데 그건 아마도... 트러스로드 조정을 할 때 목을 심하게 눌러 돌렸다거나 엉뚱한 부분에 힘을 강하게 줘서 그런경우이니... 넥 조정을 할 때는 내가 다른부위에 힘을주고..
인공지능 - mixMax 알고리즘을 이용한 Tic Tac Toe 구현 reference > 게임트리를 사용한 제로섬 게임의 인공지능 위 내용을 바탕으로 minMax 알고리즘을 이용한 TicTacToe 게임을 구현해보았다. 레퍼런스에서의 소스코드에 있는 평가함수와는 다른 방식으로 해결해 보았다. Tic Tac toe 게임 방식 • 게임에 참여하는 플레이어는 2명이다. • 양 플레이어는 서로 번갈아가면서 가로 * 세로 3칸씩으로 구성된 표에 서로 자리를 점한다. • 자리가 빈 곳에만 점할 수 있다. 승리 조건 • 플레이어가 점한 3자리가 1자로 되었을 경우 그 플레이어가 승리한다. • 테이블이 꽉 찰 때까지 결판이 나지 않으면 경기는 무승부로 한다. 문제 풀이 초기상태 및 목표상태, 연산자 정의 • 초기상태 : 9칸의 빈 테이블 • 목표상태 : 승리상태를 얻어낼 수 있는 테이..
연습일지 - 기타 지판 위에서의 음정(interval) 음정(interval)이란 음들의 차이를 말한다. 기타 지판(스탠다드 튜닝) 위에서의 프랫과 음정의 차이를 익히는 훈련은 코드톤을 찾는데 유용하게 사용될 수 있다. 코드톤을 잘 알고 있으면 그만큼 연주의 폭이 넓어진다.(물론 스태미너나 운지나 탄현,피킹에 대한 연습을 꾸준히 해야한다.) 각설하고, 지판 위에서 나란한 프렛(바레를 잡을때)에 있는 음정을 나열해 보면 0fret 에서 E A D G B E가 된다. ----->P4------>P4------>P4------>M3----->P4->---- --E--------A--------D--------G--------B--------E-- -------P5
인공지능에서의 스키마(Schema) 스키마 위키백과, 우리 모두의 백과사전. 이동: 둘러보기, 찾기 스키마(schema)는 계획이나 도식(圖式)을 가리키는 영어 낱말로, 다음을 가리킨다. 참고로 스킴(scheme)은 스키마와 거의 같은 의미로 쓰이나, 보통 스키마가 대략적인 계획이나 도식을 뜻하는 데 비해 스킴은 구체적이고 확정된 것을 말한다. 데이터베이스 스키마는 자료를 저장하는 구조와 표현법을 정의한 것을 뜻하는 전산학 용어이다. XML 스키마는 XML 문서의 내용, 구조, 형식을 규정하는 명세(明細)로, 그 서술 자체를 XML로 한다. 선험적 도식(先驗的圖式) 또는 스키마(schema)는 칸트 철학에서 유래한 철학 용어이다. [편집] 같이 보기 스킴 인지 심리학에서 스키마는 지각자로 하여금 어떤 유형의 정보를 선택적으로 수용하고 보게..
VHDL - 예약어, 연산자 요약 □ VHDL 예약어와 연산자 ○ 예약어 abs, access, after, alias, all, and, architecture, array, assert, attribute, begin, block, body, buffer, bus, case, component, configuration, constant, disconnect, downto, else, elseif, end, entity, exit, file, for, function, generate, generic, guarded, if, in, inout, is, label, library, linkage, loop, map, mod, nand, new, nor, not, null, of, on, open, or, others, out, pack..
VHDL - 개요와 역사 요약 □ VHDL의 역사(ref. Wikipedia VHDL) ○ 개 요 • VHDL(VHSIC Hardware Description Languae)은 디지털 회로의 설계 자동화에 사용하는 하드웨어 기술 언어이다. • VHDL는 원래 미국 국방부에서 주문형 집적회로(ASIC)의 문서화에 사용하기 위해 만든 언어였다. 즉, 복잡한 매뉴얼로 회로의 동작 내용을 설명하는 대신, 회로의 동작 내용을 문서화하여 설명하기 위해 개발했다. 그러나 이런 문서를 회로 디자인 과정에서 시뮬레이션에 사용하게 되었고, VHDL 파일을 읽어들여서 논리 합성을 한 다음 실제 회로 형태를 출력하는 기능을 덧붙이게 되었다. 오늘날에는 디지털 회로의 설계, 검증, 구현등의 모든 용도로 사용하고 있다. • VHDL은 Ada 프로그래밍 언어의..