반응형
반응형

알트만 가라사대  자본주의의 종언

 

오픈AI의 창업자이자 CEO이자 실리콘밸리의 전설 샘 알트만이 이틀 전 포브스와 인터뷰를 통해 이런 말을 했습니다. “우리가 왜 챗GPT를 공개한지 모르시죠?”, “자본주의는 인공지능을 감당하지 못할 수 있어요.” 샘 알트만은 와이컴비네이터의 CEO였는데요. 와이컴비네이터는 오늘날 스타트업을 육성하고 투자하는 액셀러레이터 모델의 원조입니다.

 

알트만은 루프트라는 스타트업을 설립해 4330만 달러에 매각 한 뒤 와이컴비네이터에 합류했는데요. 2014년부터 2019년까지 CEO를 역임했어요. 그러면서 2015년 일론 머스크 등과 함께 별도로 설립한 것이 오픈AI입니다. 그럼, 샘 알트만을 불러서, 어떤 메시지를 던졌는지 볼게요.

 

🤔 오픈AI는 왜 비영리 단체로 출발했나요. 혹자는 반자본주의 운동이라고도 하던데요.

👦 저는 자본주의를 사랑해요. 하지만 자본주의는 현존하는 모든 나쁜 시스템 중에서 가장 좋은 시스템일 수 있기 때문에, 더 나은 방안을 찾았으면 해요. 그리고 우려되는 것이 있어요. 인공 일반 지능(AGI)가 개발될 경우 자본주의를 무너뜨릴 수 있어요. 이 때문에 오픈AI는 다른 기업과 다른 방식으로 만들어졌어요.

 

📚 용어 : 인공 일반 지능(Artificial General Intelligence·AGI)

인간의 지시 없이도 스스로 학습과 훈련이 가능한 인공지능입니다. 인간만큼 경제적으로 중요한 일을 할 수 있습니다. 마크 구브루드 노스캐롤라이나대 교수가 1997 나노기술과 국제 안보라는 논문에서 자기 복제 시스템을 갖춘 군사용 인공지능의 출현을 전망하며 처음 사용한 단어고요.

 

🤫 그게 무슨 뜻인가요.

👦 인공 일반 지능이 정말 제대로 개발되면 좋겠어요. 하지만 만약에 고장이 날 경우 무엇인가 다른 조치가 필요할 수 있고, 이 때문에 특정 회사가 이런 인공지능을 소유해서는 안 된다고 생각해요.

 

😳 자본주의가 무너진다고요?

👦 (알트만은 인공 일반 지능이 개발될 경우 현재 시장 메커니즘인 자본주의의 작동이 어려울 것으로 내다봤어요) 인공 일반 지능은 (스스로 일해) 수익을 발생시킬 텐데 이를 어떻게 배분해야 할지가 관건일 것 같아요. 또 이런 인공지능을 누가 통제 할 수 있으며, 이를 소유한 회사는 어떤 지배구조(거버넌스)로 구성이 되어야 할까요. 정말 새로운 생각이 필요할 것 같아요.

 

🤔 그럼 왜 만드셨어요?

👦 순전히 오버톤 윈도우(Overton Window)’ 효과를 위해서입니다. 구글은 연구 실적을 공개하지 않고 있고, 인공지능이 안전하지 않을까 두려워하는 사람들이 많죠. 하지만 정말 중요한 것은 앞으로 세상에 일어날 일을 사람들이 이해하기 시작할 수 있도록 하는 것이에요. 때로는 (생각하는 것이) 불편하겠지만 건강하게 생각하는 것이 중요해요.

 

📚 용어: 오버톤 윈도(Overton Window)

오버톤 윈도는 극단적 선택지 가운데 대중이 받아들일 수 있는 정책과 사고의 범위를 뜻해요. 정책 분석가 조셉 오버톤이 명명했는데요. 사실 정책의 선호는 정치인에 대한 개인 선호가 아니래요. 군중의 사고 범위에서 결정지어진대요. 예를 들면 이래요. 1998년 외환위기를 계기로 국제통화기금(IMF)이 대규모 정리해고를 권고하자, 국민이 이를 받아들였죠? 그 이전에는 상상조차 할 수 없었던 일인데...

 

🔎 크게 보기

마라 무라티 최고기술책임자 CTO 역시 사회적 담론의 필요성을 주장했어요. 특히 무라티 CTO는 챗GPT를 규제해 달라고까지 역설을 했는데요. 지금이라도 규제를 하는 것이 늦지 않았으니, 정부 규제당국 일반인이 머리를 맞대자고 했어요.

반응형
반응형

[PYTHON] FLASK 플라스크

https://wikidocs.net/book/4542

 

점프 투 플라스크

**점프 투 플라스크 종이 책 출간 !! (2020.11)** * [책 구입 안내](https://wikidocs.net/102760) 점프 투 플라스크는 파이보…

wikidocs.net

점프 투 플라스크

지은이 : 박응용
최종 편집일시 : 2022년 11월 21일 8:20 오후
저작권 : 
e-book 판매가 : 7,000원 (구매하기)

점프 투 플라스크 종이 책 출간 !! (2020.11)

"점프 투 플라스크"는 "파이보"라는 이름의 파이썬 게시판(Python Board) 서비스를 만들어가는 과정을 설명한 플라스크 입문서이다. 파이썬 설치부터 시작하여 서비스 운영까지 웹 프로그래밍의 처음부터 끝까지 모든 것을 알 수 있도록 구성하였다.

이 책을 따라하다 보면 다음과 같은 웹 사이트가 만들어진다. (최종 결과물)

파이썬 전반에 대한 질문과 답변은 최근 오픈한 파이썬 게시판 서비스인 파이보를 활용하도록 하자.

책을 따라하다 생기는 질문은 파이보의 완성형인 아래사이트를 활용하도록 하자.

반응형
반응형

[백준] 1002번 터렛 Turrets - PYTHON 

 

https://www.acmicpc.net/problem/1002

 

 

1002번: 터렛

각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다.

www.acmicpc.net

문제

조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다.

이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다.

조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 이루어져 있다.

한 줄에 x1, y1, r1, x2, y2, r2가 주어진다. x1, y1, x2, y2는 -10,000보다 크거나 같고, 10,000보다 작거나 같은 정수이고, r1, r2는 10,000보다 작거나 같은 자연수이다.

출력

각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다.

예제 입력 1 복사

3
0 0 13 40 0 37
0 0 3 0 7 4
1 1 1 1 1 5

예제 출력 1 복사

2
1
0
"""_summary_
   1002번 터렛 turret https://www.acmicpc.net/problem/1002
   문제
        조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다.
        이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다.
        조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오.
        입력
            첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 이루어져 있다.
            한 줄에 x1, y1, r1, x2, y2, r2가 주어진다. x1, y1, x2, y2는 -10,000보다 크거나 같고, 10,000보다 작거나 같은 정수이고, r1, r2는 10,000보다 작거나 같은 자연수이다.
        출력
            각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다.
        예제 입력 1 
            3
            0 0 13 40 0 37
            0 0 3 0 7 4
            1 1 1 1 1 5
        예제 출력 1 
            2
            1
            0
            
        두 원의 중심이 동일하고, 반지름이 같다면 적이 존재할 수 있는 좌표는 무한대이다 -> -1 리턴
        두 원의 반지름의 합이 두 원의 중심사이의 거리라면 외접, 두 원의 반지름의 차가 두 원의 중심사이의 거리라면 내접한다 -> 1리턴
        두 원의 반지름의 합이 두 원의 중심사이의 거리보다 크고, 두 원의 반지름의 차가 두 원의 중심사이의 거리보다 작다면 두개의 교점 -> 2리턴
        그 외에는 교점이 없다. -> 0리턴
        
         * 네 가지 경우가 존재
        첫 번째 경우 : 두 원이 접하지 않는 경우
        두 번째 경우 : 두 원이 한 점에서 접하는 경우
        세 번째 경우 : 두 원이 두 점에서 접하는 경우
        네 번째 경우 : 두 원이 일치하는 경우
"""

# x1, y1, r1, x2, y2, r2 = map(int, input().split())

def turret(x1,y1,r1,x2,y2,r2):
    dist = pow( ( (x1-x2)**2 + (y1-y2)**2 ), 0.5 )
    temp=r1+r2
    temp2=abs(r1-r2)

    if (dist == 0) :
        if (temp2 == 0):
            return -1
        else:
            return 0
    elif (dist == temp or dist == temp2):
        return 1
    elif (temp2 < dist and dist < temp):
        return 2
    else:
        return 0

testcase = int(input())
for i in range(testcase):
    a,b,c,d,e,f = map(int, input().split())
    print(turret(a,b,c,d,e,f))
    
#=============================================================   
    

import math
num = int(input())
results = []

for i in range(num):
    x1, y1, r1, x2, y2, r2 = map(int, input().split())
    d = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2) # 두 원의 중심 사이의 거리
    if x1 == x2 and y1 == y2 and r1 == r2: results.append(-1) # 교점이 무한대
    elif abs(r1 - r2) < d and r1 + r2 > d: results.append(2) # 교점이 두 개인 경우
    elif abs(r1 - r2) == d or r1 + r2 == d: results.append(1) # 접하는 경우
    else: results.append(0) # 교점이 없음

for result in results:
    print(result)
반응형
반응형

[백준] 1001번 A-B - PYTHON  https://www.acmicpc.net/problem/1001

 

1001번: A-B

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

문제

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

첫째 줄에 A-B를 출력한다.

예제 입력 1 복사

3 2

예제 출력 1 복사

1
"""_summary_
    https://www.acmicpc.net/problem/1001
    문제
    두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.
    입력
    첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
    출력
    첫째 줄에 A-B를 출력한다.

    예제 입력 1 
    3 2
    예제 출력 1 
    1
"""

# A, B = input("값을 입력하세요~ (ex; 3 2 ): ").split()  

A, B = input().split()
print(int(A)-int(B))
반응형
반응형

[BOJ] 1000번  A+B - PYTHON  https://www.acmicpc.net/problem/1000

"""_summary_
   두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
   https://www.acmicpc.net/problem/1000
   입력
    첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
    출력
    첫째 줄에 A+B를 출력한다.

    예제 입력 1 
    1 2
    예제 출력 1 
    3
    
    입력을 받을 때 A와 B는 같은 줄에 입력을 받아야하기 때문에
    공백을 기준으로 나눠주는 split 함수를 이용하도록 하겠습니다.
    받아온 a와 b는 문자형이기 때문에 int() 를 이용하여 정수로 바꾸어 더해주었습니다.

"""

# 아래 처럼 쓸데없이 정보를 많이 넣으면 틀렸습니다. 로 나오니 주의하자. 
# A, B = input("값을 입력하세요~ (ex; 1 2 ): ").split()  

A, B = input().split()
print(int(A)+int(B))

a, b = map(int, input().split())
print(a+b)
반응형
반응형

https://www.acmicpc.net/problem/2133

 

2133번: 타일 채우기

3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자.

www.acmicpc.net

문제

3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자.

입력

첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다.

출력

첫째 줄에 경우의 수를 출력한다.

 

예제 입력 1 복사

2

예제 출력 1 복사

3
"""_summary_
    타일 채우기 
    https://www.acmicpc.net/problem/2133
    문제 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자.
    입력 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다.
"""
n = int(input("값을 입력하세요~ : "))
tile = [0 for _ in range(31)]
tile[2] = 3
for i in range(4, n+1):
    if i%2 == 0:
        tile[i] = tile[i-2] * 3 + sum(tile[:i-2]) * 2 + 2
    else:
        tile[i] = 0

print(tile[n])




#2번째 풀이 

n = int(input())
dp = [0]*(n+1)

if n % 2 != 0:
    print(0)
else:
    dp[2] = 3
    for i in range(4, n+1, 2):
        dp[i] = dp[i-2] * 3 + 2
        for j in range(2, i-2, 2):
            dp[i] += dp[j] * 2

    print(dp[n])
반응형

+ Recent posts