Get it on Google Play


Wm뮤 :: '분류 전체보기' 카테고리의 글 목록 (88 Page)

블로그 이미지
가끔 그림그리거나 3D모델링하거나
취미로 로봇만드는
전자과 게임프로그래머 (퇴사함)
2022.3.22f1 주로 사용
모카쨩
@Ahzkwid

Recent Comment

Archive


2017. 3. 27. 13:18 나의 작은 정보들


하시라데~타베루~쟈파리망~~ 아아 오이~시이~~~



'나의 작은 정보들' 카테고리의 다른 글

초월서벌  (0) 2017.03.27
Japari Café 2W 예약특전  (0) 2017.03.26
12화 동물 설명 예상  (0) 2017.03.23
posted by 모카쨩
2017. 3. 26. 17:36 나의 작은 정보들

원문트윗





번역트윗




'나의 작은 정보들' 카테고리의 다른 글

전봇대에서 먹는 쟈파리만쥬  (0) 2017.03.27
12화 동물 설명 예상  (0) 2017.03.23
아라이상에게 솜사탕을 주는 만화  (0) 2017.03.22
posted by 모카쨩
2017. 3. 23. 14:36 나의 작은 정보들



인간은 말이죠 기본적으로는 아프리카의 사바나라고 하는 지역근처에서 살았었고요. 약간의 나무밖에 없게되었기 때문에 그런곳에서 보기 쉽도록 직립하게된 개체이고 그리고 지능도 크기에 멀리있는 미래가 보이도록 투척력...일까요...

먼곳에 쉽게 던질수 있는 동물이고 이동을 좋아하기에 가볍게 10km, 20km는 여유롭게 이동해나갑니다







(아님)

posted by 모카쨩
2017. 3. 23. 00:22 Unity/C#

내부값과 검색하여 하나라도 맞는지 검사하여 bool 반환 x는 내부값을 나타냄 반드시 x로 써야함

if (nameList.Exists(x => x.ToString() == "name"))

 

해당하는 값이 존재하는지 bool 반환함 위 코드와 같음

nameList.Contains("name")

 

해당 하는 조건에 맞는 항목들을 전부 지움, 아래의 경우는 ".meta"가 포함된경우 전부 지운다.

x는 내부값이고 무조건 x로 써야함

fileNames.RemoveAll(x => x.Contains(".meta"));

 

 

리스트 복제(깊은복사)

List<int> DNA_copy = DNA.GetRange(0, DNA.Count);

 

리스트복제 2

var list2 = new List<int>(list);

 

 

 

중간삽입

DNAcopy.Insert(index, mScript.irandom(random_value));
 
중간삽입(배열 및 리스트)
 list.InsertRange(index, 배열 혹은 리스트);
 
다중추가(배열 및 리스트)
 list.AddRange(배열 혹은 리스트);

 

 

Linq계열

using System.Linq;

//중복제거
//앞글자 3글자가 같은녀석들만 제거함, x => x.Substring(0,3) 이부분만 수정해서 쓰면 됨
list = list.GroupBy(x => x.Substring(0,3)).Select(x=>x.First()).ToList();

//중복제거2
//완벽히 동일한것만 제거
list = list.GroupBy(x => x).Select(x=>x.First()).ToList();

//그룹리스트 (같은값끼리 짝지어서 나온다)
List<int> list=new int[] { 1,1,1,2,2,3,4,4}.ToList();
var groupList = list.GroupBy(x => x).ToList();

for (int i = 0; i < groupList.Count; i++)
{
    var group = groupList[i].ToList();
    for (int j = 0; j < group.Count; j++)
    {
        Debug.Log(group[j]);
    }

}

//중복제거 심플버전 구조체만 가능(예를들어 게임오브젝트는 안된다)
list.Distinct();

//전부 더하기
list.Sum();



//슬라이스(자르기)
var list = new List<int>(new int[] { 1, 2, 3, 4, 5 });
var length = 3;
var sliceList =  list.Take(length).ToList();
Debug.Log(string.Join(", ", sliceList));
//결과: 1,2,3



//슬라이스2 (중간부터)
var list = new List<int>(new int[] { 1, 2, 3, 4, 5 });
var startIndex = 1;
var length = 3;
var sliceList =  list.Skip(startIndex).Take(length).ToList();
Debug.Log(string.Join(", ", sliceList));
//결과: 2,3,4

 

 

 

 

 

 

최댓값 (맥스)

double dividendMax = list.Max(x => x.dividend);

 

최댓값'들'

var timeMax = saves.Max(save => save.time);
var timeMaxSaves = saves.FindAll(save => save.time == timeMax);

 

 

 

셔플(미세한 편향, 비둘기집문제)

하지만 구조가 간단하므로 중요로직이 아니면 이걸로 처리한다 

using System.Linq;

//유니티버전
list = list.OrderBy(a => Random.value).ToList();

//닷넷버전
System.Random seed = new System.Random((Int32)DateTime.Now.Ticks);
list = list.OrderBy(a => seed.Next()).ToList();

 

셔플(완전한)

    public static void ShuffleList<T>(ref List<T> targetList)
    {
        for (int i = 0; i < targetList.Count; i++)
        {
            int j = Random.Range(0, targetList.Count);
            T t = targetList[i];
            targetList[i] = targetList[j];
            targetList[j] = t;
        }
    }

 

정렬//오름차순

creature_list.Sort();

 

정렬//내림차순 정렬

list.Sort((x, y) => y.CompareTo(x));

이것과 동일함

List<double> A;
List<double> B;

//동일버전
list.Sort((A, B) => B.CompareTo(A));

//람다 긴버전
list.Sort(delegate (var a, var b)
{
    return b.CompareTo(a);

});

//if방식
list.Sort(delegate (var a, var b)
{
    if (a > b)
    {
        return -1;
    }
    if (a < b)
    {
        return 1;
    }
    return 0;
});

//for방식
for (int i = 0; i < list.Count; i++)
{
    for (int j = i + 1; j < list.Count; j++)
    {
    	var a=list[i];
    	var b=list[j];
        if (a > b)
        {
            var t=a;
            a=b;
            b=t;
        }
    }
}

 

 

 

'Unity > C#' 카테고리의 다른 글

유니티 각도계산 모음  (0) 2017.11.06
유니티 함수 정리  (0) 2017.07.02
c# list와 array속도 비교  (3) 2017.01.25
posted by 모카쨩
2017. 3. 22. 22:57 나의 작은 정보들
맛잇어보이는거시다 
??!?! 
 상냥한거시다. 고마운거시다. 
 !? ? !?





posted by 모카쨩
2017. 3. 22. 18:57 나의 작은 정보들

※주의 - 이 본문에는 케모프레 11화 스포가 너무 많습니다.



이 본문에는 트위터가 포함되어 있습니다. 

구토 또는 어지럼증 등 이상증상이 발생할경우 재빨리 웹브라우저를 닫으시고 의사와 상담하십시오.




보기전


쟈파리 파크에 떨어져있는 의문의 물체들 전부 군용품


가방이 힘내서 먀먀먀먀 거릴때 눈물이ㅠㅠ 작은나무 하나 혼자서 오르지 못했었는데

발이 빠르니? 아니오 하늘을 날수있니? 아니오 헤엄칠수 있다던가? 아니오

아무것도 못하는구나 그런데 결국 -전력으로 달렸습니다 -하늘을 날았습니다 -필사적으로 헤엄쳐나갔습니다


서벌을 구하기 위해서




본후

(11화는 감동, 특히마지막에 가방짱이 엄지손가락을 치켜세울때 눈물이)

쇼크먹고 언어능력이 저하된 프렌즈들(원래...


타노시 할수 없어 멘붕해서 op에서 만들던게 이거라구...

ED의 실루엣이 사라졋대요! 몰살엔딩이야!

희망편

사바나 얼룩 거대 민달팽이편

감독님에게 소원을 비는 팬들 (케모프레 11화 이야기가 많네요 최종화 작업하러...)

(믿습니다!)

요약

그 뒤















초거대 떡밥


2화에서 쟈파리 버스가 분리되어 있던 이유는
미라이씨도 같은 작전을 위해서 셀루리안을 유인하고 다리를 붕괴시켰기 때문





간판이 낡아있다

10화 마지막 장면과 연계해보면 보스의 기억







 



'나의 작은 정보들' 카테고리의 다른 글

아라이상에게 솜사탕을 주는 만화  (0) 2017.03.22
케모노프렌즈 PPP 라이브  (0) 2017.03.21
일해라 위화감  (0) 2017.03.19
posted by 모카쨩
2017. 3. 21. 21:02 나의 작은 정보들

'나의 작은 정보들' 카테고리의 다른 글

케모노 프렌즈 11화 요약과 떡밥과 반응들  (0) 2017.03.22
일해라 위화감  (0) 2017.03.19
케모프레 엔딩예상 일러들  (0) 2017.03.19
posted by 모카쨩
2017. 3. 21. 17:23 AI

 

판단조건

 

개체

{

리스트 DNA값

long 개체수

리스트 메모리

}

 

월드

{

list 개체

long 최대자원 //선택사항

long 루프횟수

루프문(환경인자)

{

}

}

 

 

값에 대응하는 판단문

무한루프

 

 

 

 

 

DNA는 0일땐 패스

1부터 시작해서 스위치를 만족하면 다음구문에 따라 읽어서 실행

 

DNA변이는 다음과 같은 종류가 있다

점변이:1개 값이 다른값으로 변이됨

점결실:1개 값이 손실됨

점생성:1개 값이 중간에 추가됨

점종료:점생성과 동일하지만 동작의 끝을 알림

역위:일부의 순서가 뒤집힘

중복:일부가 중복됨

결실:일부가 손실됨

 

 

 

그래서 나의 경우엔 모든 개체가 매 회마다 변이를 생성하고

각 값의 범위마다 수치,판별식,인덱스를 넣어서 인공지능을 돌렸었다 

 

유전알고리즘의 장점은 모든 경우의 수를 다 검색하고 생명체의 근본과 맞닿아 있어 일단 된다는게 장점이지만

비슷한 개체가 많아져 중복연산이 많아 매우 느리다는 단점이 있다.

 

그래서 이때는 이걸 CPU로 썼지만 23년도부터는 GPU 연산을 쓰는 인공신경망으로 대체함

유전 알고리즘도 2차원 배열중 행을 DNA배열로 하고 첫번째 픽셀을 가중치로 쓰는식으로 하면 GPU연산 가능할거 같긴한데 굳이 그렇게까지 할 필요는 없을듯

인공신경망도 따지고 보면 방식만 다를뿐 유전알고리즘의 판별식 부분과 거의 비슷한 동작이니까

 

이전에 쓰던 유전알고리즘 모델은 구형이다보니 깃헙에 공개하고 싶은데

코드내용에 개인정보가 포함되어 있어 정리해줄거 생각하니 너무 귀찮아서 언제할지는 모르겠다.

'AI' 카테고리의 다른 글

셋째 -아유-  (0) 2023.03.16
둘째 -이온-  (0) 2016.01.07
첫째 -코로나-  (0) 2016.01.07
posted by 모카쨩

저사양 유저용 블로그 진입