[Term Project] 오목의 바둑돌을 두는 알고리즘을 개발하시오. [ 오목 프로그램 ] Algorithms and Practice 1.

Slides:



Advertisements
Similar presentations
[Homework #2] (6 th Edition English Version 기준 )  [ 복습문제 ] 에서 다음 문제의 해답제시 (pp.169~171)  R5, R8, R10, R11, R15, R26, R27  [ 문제 ] 에서 다음 문제의 해답제시 (pp.171~179)
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
진우석 오준민 정무여 김상구 황현서 5조5조.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
제3장제3장 제3장제3장 이산균등분포  확률질량함수 :  평균 :  분산 : 공정한 주사위를 한 번 던지는 경우 나온 눈의 수를 확률변수 : X 확률질량함수 : 평균 : 분산 :
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
2006년 컴퓨터공학실험(I) 강의 소개 002, 004분반 인공지능 연구실.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
컴퓨터 프로그래밍 기초 [Final] 기말고사
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
Lesson 9. 예외처리.
[Homework #3] 오류 찾기 문제 BankAccount 문제 MyMetric 문제
[ ] 호서대학교 현장실습지원센터 홈페이지 안내 교수 매뉴얼.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
2007 1학기 11 프로젝트 기초 실습.
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
10장. 예외처리.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
JA A V W. 03.
프로그래밍 개요
자바응용.
인터넷응용프로그래밍 JavaScript(Intro).
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
Software Engineering Final Project
Report #3 - due: 4/6 100*100의 2개의 희소 행렬 A, B를 전달 받아서 이들의 덧셈을 구하고, 그 결과의 행렬 C를 반환하는 add_sparse_matrix(A, B, C)를 다음과 같이 작성하라. 희소 행렬은 sparse_matrix 타입으로 표현된다.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
영상처리 실습 인공지능연구실.
Term Project 수행 안내 2007 컴퓨터공학실험(Ⅰ).
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
TERM PROJECT 제안서 안내 2010 컴퓨터공학실험(Ⅰ).
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
자바 5.0 프로그래밍.
[Homework #5] P. 177~182에 있는 4장 연습문제 P. 222~225에 있는 5장 연습문제 2번, 6번 11번
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
재료공학원리 II – 최종 보고서 및 최종 발표 1. 최종 보고서 2. 최종 발표 3. 평가 항목
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
계산기.
객체기반 SW설계 팀활동지 4.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
( Windows Service Application Debugging )
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
알고리즘 알고리즘이란 무엇인가?.
데이터 동적 할당 Collection class.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
에어 PHP 입문.
교수님 : 채종철 교수님 ) 2011년 1학기 천문학 실험 ( ) 교수님 : 채종철 교수님 ) 출석 30, 과제 70 조 교 : 송동욱.
보고서 #2(제출기한: 09/23) 다음 문제를 해결하시오. (7)
문자열 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
05. General Linear List – Homework
[INA240] Data Structures and Practice
7주차: Functions and Arrays
Homework-1 - HTML5와 CSS를 활용한 개인 홈페이지 제작 -
[INA240] Web Programming Homework #2 [INA240] Web Programming
함수, 모듈.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
Numerical Analysis Programming using NRs
실습 UBLAB.
TERM PROJECT 최종 보고 발표 안내 2010 컴퓨터공학실험(Ⅰ).
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
Algorithms and Practice
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
대한축구협회 대한축구협회 2013년 전산등록 매뉴얼 2018년 심판보고서매뉴얼.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
구성품 검정, 흰색 0~11까지 조커 각 1개 조커는 빼고 시작!. 구성품 검정, 흰색 0~11까지 조커 각 1개 조커는 빼고 시작!
6 객체.
BoardGame 보드게임 따라가기.
Presentation transcript:

[Term Project] 오목의 바둑돌을 두는 알고리즘을 개발하시오. [ 오목 프로그램 ] Algorithms and Practice 1

[Term Project] 오목 프로그램 구조 미리 만들어서 제공되는 오목 플랫폼 클래스 소스  OmokTester.java: main 함수가 존재하는 Class  OmokBoard.java: 그래픽 관련 처리 Class  Player.java: OmokPlayer 를 위한 Abstract Class currentPosition – 최근 자신이 둔 바둑돌의 위치가 저장됨 2 차원 배열인 map – 현재 오목판의 정보가 담겨 있음 크기 : 19 X 19 ( 인덱스 – 0~18 X 0~18) map[i][j] 에서 i 는 행, j 는 열을 의미 ex) i=6, j=9 이면 7 행의 10 열의 위치 값의 의미 - 0: 빈 공간, 1: Player1 의 검정돌, 2: Player2 의 빨간돌  OmokPlayer100.java, OmokPlayer101.java Player.java 를 상속한 샘플 오목 플레이어 코드 Algorithms and Practice 2

[Term Project] 오목 프로그램 구조 학생들이 작성해야 할 클래스 소스 : OmokPlayer**.java  OmokPlayer**.java 에서 ** 은 각 조 숫자 1 조 : OmokPlayer01.java 2 조 : OmokPlayer02.java … 10 조 : OmokPlayer10.java …  오목의 인공지능이 들어갈 Class 로 Player Class 를 상속받아 작성  Point nextPosition() 함수를 작성 이차원 배열로 구성된 현재 바둑판 정보인 int[][] map 을 분석 바둑돌을 어디에 두어야 할지를 결정 일종의 Greedy Algorithm 을 적용할 수 있음 즉, 현재 주어진 map 정보에서 내가 이길 수 있는 가장 최적의 다음 돌 위치를 계산해 내는 알고리즘 Algorithms and Practice 3

[Term Project] 규칙 1. 검정색 돌이 먼저 돌을 놓음 2. 5 개의 돌이 일렬로 먼저 놓아지면 승으로 간주 3. nextLocation() 이 반환하면 되지 않는 위치  이미 돌이 놓여진 위치  쌍삼이 되는 위치  배열이 벗어나는 위치 (0~18 X 0~18 외부 ) 4. 위의 경우에 해당하는 위치가 반환될 시 패로 간주 5. nextLocation() 호출 이후 x 초안에 돌의 위치를 반환하지 못할 시에는 상대방으로 Turn 이 넘어감. 6. 작성한 알고리즘이 에러 (Exception) 를 발생시킬 경우, 패로 간주 7. 바둑판에 모든 돌이 놓여지면 무승부 Algorithms and Practice 4

[Term Project] 평가방법 각 조가 작성한 OmokPlayer 간의 리그전으로 전체 오목경기를 조교가 수행한다.  임의의 한 조가 다른 모든 조들과 선후공의 순서를 바꿔가며 2 번의 경기를 수행하게 되면 리그가 종료된다.  리그의 횟수는 추후 정함.  승, 패, 무를 각 조별로 합산하여 전체 조별 순위를 정한다.  6 월 13 일 ( 수 ) 에 경기 결과를 공지하고 Term Project 발표회를 시행한다. 1~4 등을 한 조에 대한 추가적인 평가 가장 높은 Term_Project 점수 부여 수업시간에 전략에 대해 상세히 발표 이날 수업시간에 재경기를 하여 순위를 최종적으로 재조정한다. Algorithms and Practice 5

[Term Project] Tip 친구들이 작성한 OmokPlayer 를 미리 받아서 스스로 경기를 수행해보면 자신이 만든 알고리즘의 수준을 체크해볼 수 있을 것임. Report 요구사항 오목 알고리즘에 대한 전략, 절차, 방법을 구체적으로 제시할 것  Greedy Method 를 활용했다면 어떠한 규칙으로 자신의 돌 위치를 계산해 내었는지를 명확하게 제시할 것 프로그램 코드를 정확하게 Report 에 제시할 것  주석을 충분하게 넣을 것 자신이 취득한 기술적 사항을 생각한 바 그대로 적을 것 질문은 Q&A 게시판에 올릴 것 Algorithms and Practice 6

[Term Project] 제출형태 보고서 파일 (HWP 또는 MS-Word) 과 프로그램을 게시판에 업로드  서론, 본론, 결론의 구조를 가진 보고서 표지 ( 설계교과목이라는 문구 추가 ) 서론 : Term Project 의 내용 및 목적 본론 : 각각의 문제를 코딩한 이후 앞에 있는 요구사항에 따라 작성 결론 : 숙제를 한 이후의 느낀점, 하고싶은 말, 또는 불평 ~~ 파일명 : 알고리즘 -TermProject zip  보고서와 OmokPlayer**.java 를 하나의 zip 파일에 묶어서 만듦  맨 마지막 숫자 01 은 조 번호를 나타냄 게시판의 게시물 제목 : 알고리즘 -TermProject  맨 마지막 숫자 01 은 조 번호를 나타냄 제출기한 2012 년 6 월 9 일 ( 토요일 ) 23:59:59 7 Algorithms and Practice

Term Project 조 구성표 Algorithms and Practice 8 학번성명 Term Project 조 강돈우 김재홍 여명 황지형 원성현 신수진 유지선 양지영 정용빈 이한동 최선숙 오혜진 이석주 신상용 임경수 고경석 최현일 최장규 이현탁 천준혁 정찬희 조준성 박종혁 이승철 심기성 김종민 한태원 이효석 박윤조 송용권 이승욱 정무여 정성혁 김동훈 전형천 심한상 오민지 임희현 11