[카테고리:] TODAY-PICK

  • python) Reeborg’s World Hurdle4 풀기

    python) Reeborg’s World Hurdle4 풀기

    은근히 안되서 될 때까지 붙잡고 풀었습니다.

    python 코드를 연습하기 좋은. 스크래치 게임과 비슷한 Reeborg’s World 입니다.

    Reeborg's World
    Reeborg’s World

    1, 2, 3 단계는 쉽게 풀릴테고, 4단계부터는 코드 하나에 하나하나 어떻게 돌아가는지 확인이 필요합니다.

    코드를 짜는 건 귀찮으니 빠르게 해결하려고 했던 건데… 가는지 안가는지 확인해야 한다니ㅋㅋㅋ

    사람이라면 장애물이 대략 몇 미터인지 파악해서 4미터면 4번 갔다 도는 것, 1미티 정도면 1번 돌고… 이런 식으로 빠를 텐데.

    귀여운 Reeborg는 눈 앞에 장애물이 없으면 이동해, 우측에는 벽이 있어? 앞에는 장애물이 있어? 만약 우측에 벽이 없다면…

    이라고 하나부터 열까지 하나하나 설정해야 합니다.

    일단 4단계 풀었던 코드는 요렇습니다. 그런데 해결된 코드 복붙해봐야 재미없으니 직접 하는 걸 강추…

    원래 가지고 있던 def와 따로 만들어서 움직이도록 짰습니다.

    하다가 에러나면 오기도 생기고, 될 때까지 한다. 이런 느낌으로 해보면 엄청 재밌습니다.

    사이트 주소:

    https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Hurdle%201&url=worlds%2Ftutorial_en%2Fhurdle1.json

    def turn_right():
        turn_left()
        turn_left()
        turn_left()
    
    def jump():
        turn_left()
        move()
        turn_right()
        move()
        turn_right()
        move()
        turn_left()
        
    while at_goal() != True:
        if right_is_clear():
            turn_right()
            move()
            turn_right()
            move()
        elif front_is_clear():
            move()
        elif wall_in_front():
            turn_left()
        elif wall_on_right():
            move()
            turn_right()

    그리고 다음 스테이지로 이동!

    또다른 솔루션은

    def turn_right():
        turn_left()
        turn_left()
        turn_left()
    
    def jump():
        turn_left()
        while wall_on_right():
            move()
        turn_right()
        move()
        turn_right()
        while front_is_clear():
            move()
        turn_left()
            
        
    while at_goal() != True:
        if wall_in_front():
            jump()
        else:
            move()

    좀 더 깔끔한 코드

  • 티스토리 먹통🥲

    티스토리 먹통🥲

    저녁 9시 46분 여전히 티스토리에 안 들어가집니다.

    티스토리에 예전에 작성한 에러 관련 메모가 있어서 복구되면 빨리 옮겨야 할 것 같습니다.

    프로그래밍 관련한 글들은 다 티스토리에 있고, (복구되면 중요한 건 옮겨야죠…)

    조회수가 크지 않아도 나름(?) 수익형 블로그인데

    오늘 들어오는 에드센스는 정말 0.00 달러가 찍힐 것 같습니다. 🤣

    22.10.15… 오후 9:52

  • 카카오톡, 다음 등 카카오 데이터 센터 화재

    카카오톡, 다음 등 카카오 데이터 센터 화재

    카카오톡, 카카오택시, 티스토리, 다음 등이 계속 접속이 안됩니다.

    2022.10.15. 오후 5시 기준!

    3시 반부터 접속이 안되고 있는데,

    서버실이 있는 데이터 센터에 화재가 났다고 합니다.

    카카오톡
    카카오톡

    카카오 서비스 전반적 장애와 관련해서 하루 빠른 복구가 되길 바랍니다🙏🏻

    +덧, 스타벅스의 일부 서비스 이용 불가 안내

    저녁 8시 6분…

  • 헬렌켈러 명언

    헬렌켈러 명언

    헬렌켈러
    헬렌켈러

    “세상은 고통으로 차 있는 것처럼 보이지만, 고통을 극복하는 걸로도 차있다.”

    – 헬렌켈러 –

  • 행운은 찾아온다 – 데일 카네기

    행운은 찾아온다 – 데일 카네기

    행운은 찾아온다
    행운은 찾아온다

    행운이 가득한 하루가 되길

  • 완벽한 퇴사 – 장기적으로 준비해야 하는 플랜

    완벽한 퇴사 – 장기적으로 준비해야 하는 플랜

    time lapse photo of stars on night
    Photo by Jakub Novacek on Pexels.com

    완벽한 퇴사라는 책을 퇴근 후에 영풍문고에 들러서 읽게 되었다. 퇴사 준비 낯설지 않다. 몇 년 전에 누가 이런 말을 한 적이 있었다.

    ‘연봉이 자신의 몸값이라는 말은 말이 안돼. 왜냐면 그러면 회사 밖에 나가서도 연봉 만큼은 벌 수 있어야 하잖아? 회사 밖에 나가면 아무것도 못하는데 그건 몸값이 아니지.’

    그 때 당시에 맞는 말이라고 생각을 했다. 그리고 무언가 새롭게 도전을 하고, 준비를 해야 하는데, 늘 지쳐서 늘어지는 나를 보면서 자괴감에 빠졌었다. 도대체 어디서부터 무엇을 해야 할지 몰라 헤맸다. 이게 맞는 길인지도 확신이 없었다. 회사에서는 무력감이 회사 밖에서는 아무것도 못하겠단 마음이 많이 들었었다. 그 때 다녔던 회사에서는 내 바로 위의 사수와 심한 마찰이 생기고 있었고, 너무 힘들었으니까.

    내가 힘들었던 부분은 내가 참고 견뎌야 하는 옵션 밖에 가지지 않았던 게. 너무 분하고 화가 났던 것 같다. 내가 나 자신을 그런 상황에서 보호해주지 못하는 게 분했다.

    그 사수는 분명 문제가 있는 사람이었으니까. 저 사람은 날 이해하기는 커녕 지나친 마이크로 핸들링에 사실상 능력없는 사람인데. 얼마 안 가 퇴사하면서 다짐했다.

    언젠가는 나는 내 자신을 고용하겠다고, 나는 누구보다도 날 잘 이해하면서, 날 성장시키고 지지해줄 수 있는 시스템을 만들겠다고 결심했다.

    사람을 믿는 게 아니라 시스템을 만들겠다고.

    퇴근하고 집에 오면 침대에 눕고 싶고, 놀고 싶고, 뭔가 딴짓을 하고 싶다. 나 조차 사람이니까. 퇴근 시간 이후에는 적어도 날 놀게 해주고 싶은 마음이 든다. 하지만, 이렇게 책을 읽고 글을 쓰고, 마음을 정리하고, 단 한 글자라도 좋으니 한 번 더 읽어내면서 마음을 다잡는다. 매일 매일 기적을 만들자. 라고.

    이 책을 보면서 이런 저런 창업의 비결들이 적혀져 있다. 1인 창업가를 위한 이야기들.

    • 일단은 거창하게 시작하지 말고 조금씩 시작해라.
    • 끊임없이 배워야 한다.
    • 생각이 나지 않을 때는 육하원칙(what, who, when, where, why, how)으로.
    • 나만의 메시지가 1인 기업가의 소명이다.

    나는 왜 일을 하는지. 어떤 소명의식이 있는지 생각해봐야 한다. 책을 읽으면서 뭔가 구구절절 느껴진다면 아마 이미 준비 단계에 와 있어서 일테다. 어떤 단계에서는 ‘누구나 다 아는 이야기야.’, ‘음… 별로 와닿지 않네.’ 이럴 수 있다. 그럼 아직 때가 아닌 거다.

    이런 문장에 좀 더 심사숙고하게 되고, 어떻게 하면 될 수 있을까. 나는 5년 정도 준비하고 싶어. 그 다음 스텝은 뭐지. 라고 생각하게 되는데. 나에게는 때가 되어서 인 것 같다.

    나는 이 책을 읽으면서 일단 거창하게 시작하지 말고 조금씩 시작해라. 라는 말에 동감한다. 단기적으로 배팅하는 전략은 제외했다. 장기전으로 가기로 했다. 어찌되었던 난 내가 정한 목적지 까지 가기로 결정했으니까.

    명확한 문제의식이 생기고, 꿈이 생기면. 그 다음에는 내가 올라가야 할 높은 산이 보인다. 시스템 만드는 것들도 그렇고, 보이지 않는 호수 아래에서 끊임없이 발장구 쳐대는 건 기본이고. 난 만화책을 정말 좋아해서 학창시절에 만화책에 푹 빠져 지냈는데,

    후르츠 바스킷이라는 만화책에서 무언가 산더미처럼 쌓인 거에 풀이 죽은 토오루에게 시구레가 이렇게 말해준다.

    ‘그래 빨래를 예로 들어보자. 당장 눈 앞에 있는 빨래거리부터 청소하는 거야. 하나씩 하다보면 어느새 금새 다 하게 되어 있거든.’

  • 게임 이론 Game Theory와 죄수의 딜레마

    게임 이론 Game Theory와 죄수의 딜레마

    게임 이론과 인간의 공격성 진화 시뮬레이션 과 관련해서 정말 추천하고 싶은 영상이 있다. 게임 이론은 존 내쉬가 발표한 내쉬 균형 이론과 관련이 있는데, 의사결정과 관련한 수학적 이론이다. 전략을 세우는 것인데 상대방을 고려해서 보상을 추구하느냐 손실을 최소화하느냐와 관련이 있다고 알고 있다. 알고만 있고, 실질적으로 느끼진 못했는데 공격성의 진화 시뮬레이션 이라는 유튜브를 보고 뭔가 와 닿았다.

    뒹굴거리다가 발견했는데 너무 멋진 비디오이다. 보면서 나름 설명을 좀 더 추가했다.

    유튜브 링크는 하단에. 제목은 Simulating the Evolution of Aggression이다.

    여기 굉장히 귀여운 생물들이 있다. 하나는 비둘기 파이고 다른 하나는 매(hawk)파이다. 비둘기 파는 온건주의자 라고 칭하고 매파는 좀 더 과격주의자라고 칭해보자.

    정말 귀염뽀짝하다

    비둘기 파는 먹이를 함께 발견하면 사이좋게 1:1로 나누지만

    매파와 비둘기 파가 함께 먹이를 발견하면 매파는 본인이 3/2정도 먹고 남은 1/2 를 비둘기 파에게 넘긴다. 비둘기 파의 생존 확률은 0.5가 되어버린다.

    매파와 매파가 함께 발견하면 서로 싸운다고 에너지가 0:0이 되어서 생존 확률은 0프로.

    내가 흥미로웠던 부분은 비둘기 파만 있을 때의 번식율을 돌려본 것과 매파만 있을 때 번식율을 시뮬레이션 한 결과였다.

    번식율 그래프
    번식율 그래프

    비둘기 파만 있을 때가 가장 빠르게 번식했다. 2마리에서 120마리까지 10일도 안되는 기간 동안 늘어났다.

    그런데 매 파가 있을 때의 번식은… 2마리에서 40마리도 간당간당했다. 10일이 되어도…

    이걸 보면서 약간 많은 생각을 했다. 뉴스 기사를 보면 적자생존의 시대이다. 학교에서 배운 약육강식이라던가, 각자 알아서 도생하는 각자 도생의 시대이다 어쩌구… 한정된 자원을 둘러싼 지나친 경쟁. 그런 식으로 가면 저기 오른쪽 그래프 번식률이 나오겠구나. 라고 생각했다. 실제로 그렇게 되고 있지 않은지. 이 그래프가 뭔가 우리 사회에 경종을 울리는 자료 같다는 생각을 하면서 인상깊게 봤다. 출산율 등의 사회 전반의 문제를 보는 느낌이 약간…. 약육강식, 각자도생, 적자생존의 시대. 라는 용어를 이미 많이 들었고, 그걸 너무 자연스럽게 학습시키는 게 꺼림칙했다. 본인이 알아서 스스로를 잘 챙겨야 합니다. 당하는 사람만 바보로 몰기 등. 이기적인 집단의 가장 낮은 번식율…

    물논 내 주위의 분들이 다 좋으신 분들이라 다 좋은 사람들이라고 믿어 의심치 않지만. 그런 생각도 했다.

    이 방식이 과연 좋은 걸까?

    어쨌든, 영상에서는 다음의 경우들을 고려한다. 오른쪽의 사진이 죄수의 딜레마의 상황.

    (1/2, 3/2) 나 (3/2, 1/2)를 선택할 확률이 높아진다
    죄수의 딜레마 상황

    왼쪽의 상황은 각각 자신의 이득을 가장 최대화하기 위해서 (1, 1) (0,0)인 경우를 피하는 상황이고,

    오른쪽의 상황은 그 유명한 죄수의 딜레마이다. 상대방이 매파 전략으로 나왔음. 그런데 나는 뭘 선택해야 가장 이득일까? 비둘기 전략을 선택하자니 1/2 만 먹고, 나도 매파 전략으로 선택하자니 함께 3/4로 각각 (1,1)을 했을 때보다 얻는 소득의 총합이 적어진다. 3/4 + 3/4 = 6/4 = 3/2 = 1.5 이니까. 그렇다고 상대방을 3/2로 줄 것인가?

    경제학에서는 이와 관련한 이론들이 엄청 끊임없이 나오고 있고 훌륭하신 분들이 끊임없이 연구하고 계신다. 수리경제학에서도 게임이론을 본 것 같기도… 그런데 수리경제학을 이해하기에 앞서 이 유튜브 비디오를 보는 게 좀 도움이 많이 될 것 같아서 포스팅을 했다.

    귀여운 건 하나 더 추가

error: Content is protected !!