/CSG/ Computer Science General

Let's not bother other Veeky Forumsentists here and concentrate all computer science discussion here. Both theoretical and applied CS discussion is welcomed here. Discuss algorithms, implementations, programming, operating systems and more.

Other urls found in this thread:

math.tut.fi/~ruohonen/FL.pdf
arxiv.org/abs/0804.3434
youtube.com/channel/UCcrSMnEYhIPX_p127jI23qw/videos
michaelnielsen.org/qcqi/QINFO-book-nielsen-and-chuang-toc-and-chapter1-nov00-acro5.pdf
en.wikipedia.org/wiki/Jaynes–Cummings–Hubbard_model
arxiv.org/pdf/1310.1897.pdf
csun.edu/~acm31201/Old Class Work/ECE 340/Fundamentals of Microelectronics.pdf
arxiv.org/pdf/1706.00376.pdf
github.com/Nikolaj-K/lab-control-GUI
en.wikipedia.org/wiki/Reverse_mathematics
math.berkeley.edu/~antonio/slides/CompThyh.pdf
youtube.com/watch?v=7K1sB05pE0A&list=PL590CCC2BC5AF3BC1
twitter.com/AnonBabble

...

AI researcher here. My field is lonely. The closest I get to a conversation with people is when I talk to someone in the NLP community and then they only correct my grammar.

lol 7/8 story

The is that way

>literally a science and math board
>computer science is getting redirected to g
Guys pls

...

Isn't CS considered a subset of logic?

yeah.

I see computer science being born out of recursion theory.

recursion theorist are more concerned about uncomputability and computer scientist are more concerned about computable functions/algorithm analysis... but it all falls under logic/math.

this focus of computer science is a sub-field of mathematics.

computer scientist basically apply pure mathematics to theoretical problems in computer science... convex analysis, linear algebra, graph theory, number theory, category theory, topology, etc.

Post good books that arent commonly seen

Kozen is the best CS author of all time

See pic related to see relation
Computability is my favourite but it's been ded for 50 years
Rodgers and Cooper are good reference books

I lol'd

No, CS is extremely broad. Some areas like Computer Graphics theory are really applied and mostly care about stuff like modeling light (e.g. how should we model light when it interacts with surfaces like skin or milk that involve the light penetrating into the surface some amount).

Programming Language Theory is the closest that CS comes to logic but really it's more of an intersection between CS (specifically type theory), pure math (specifically pure category theory), and logic.

Computability (also sometimes called formal languages, recursive set theory, or recursion theory) is essentially a subset of pure math very analogous to set theory or type theory (specifically a version of lambda calculus which is provably equivalent to recursive set theory).

Computability is only a part of computer science. CS is so broad that many CS graduates and researchers are likely to be working in areas completely separate from computability (and completely separate from each other as well).

This is imo the best book on computability (specifically the recursive set theory approach) out there.

These lecture notes are pretty great too for a more basic/general introduction to computability (formal language approach)
math.tut.fi/~ruohonen/FL.pdf

This gives a quick introduction to Lambda Calculus.
arxiv.org/abs/0804.3434
This last one isn't really computability, as it very focused specifically on Lamba Calculus.

I do have a Lambda Calculus book somewhere that mirrors Davis' "Computability, Complexity, and Languages" through Lambda Calculus instead of Recursive Set Theory (really hammering down the point that they're all equivalent). If people are interested I could look it up. I only didn't recommend it because it's kind of a tedious long read and accomplishes almost the exact same stuff as Davis' superior book (in my opinion). The lecture notes above cover lambda calculus itself with no overlap.

sides = gone

/g/ is consumer whores who only know trade skills, no actual computer science. They're basically "the computer kid in the family".

>AI researcher here.
>import tensorflow as tf
I'm a "researcher" tik

Not that guy but you are a retard. gb2 your brainlet containment board

Anyone do/doing a PhD in theoretical CS?
I love everything about it and want to carry on afger my masters, but I'm not interested in any one thing especially. Should I not bother?

What is the current state of the art in general AI? Are we even close to something?

I'm in my 3/4 years of PhD study program, although there were some complications and on the way, instead of working on image processing, medical imaging and computer vision I ended up in Quantum Cryptography - which is rather in the theoretical department and is also quite multi disciplinary, since you have to learn some things from physics and mathematics to work on it. I'm not the best PhD student, but ask me anything. Also, I'm from Poland, so PhD studies in your country may be very different.

Why did you want to do a PhD? What is your advantage of doing one compared to if you stopped to the Master? And how did you end up in Quantum Cryptography?

FPBP

I wanted to see if I'm capable of continuing my education, because I like Computer Science in general, many aspects of it are interesting to me. I also think that I learned a lot at my Uni and wanted to contribute something (even small) from my side. I was having a hard time doing anything related to image processing, medical imaging and computer vision simply because nobody does this at our Uni, and the contacts I had outside of Uni were not motivated enough to help me (I tried to motivate them, but it didn't work). Then, at the end of 3rd year, you must choose a promoter. Since my supervisor wasn't interested, because she's intro text mining and I'm not exactly into this area (still, completely something else we were working on before), I decided, that instead of doing as my supervisor and other lecturer's suggest, I'm going my own way. I don't know anything about Cryptography, but was always interested in comp sec and by the way in crypto, but very passively. I decided that I want to study cryptography, but the only person doing any active scientific work in this area (publishing articles etc.) was a guy that does Quantum Crypto. I took his course once and it seemed like a good idea. This is the story, sorry I made it a bit long. My advice: from the start of your PhD studies think about one specific area and see if your Uni has people researching it. I ended up in one of two fields that are active in our Uni, others are too passive to make it work (no publishing of articles).

It's not to hard to try a PhD that was not your major during the Msc or Bsc?

I'm starting a phd in the fall in computer engineering (specifically the field of computer architecture)

I'm also interested in quantum computers, both from the algorithm and architecture sides

Should I learn quantum mechanics? If so, would Griffiths book suffice?

For the quantum cryptography stuff, what kind of math did you have to learn?

Radix sort can outperform quicksort on sequences in practice

It depends on the area, however when I went to a PhD programme I didn't have any area in mind and I know that I couldn't continue what I did for MSc, because nobody does this research at Uni anymore (the professor left, he was a visitng prof and another guy became a blender maniac after my MSc).

I strongly suggest you learn whatever you'll need when reading the publications to understand them. For Quantum Computing you don't actually need to know Quatum Mechanics (I'd be kill by now if this was the case). Read abut quantum computing in general, Quantum Gates may interest you, Quantum Turing Machines are not as popular as gates. The math I've seen so fat in QC is mostly linear algebra(complex numbers, matrices..) and real analysis (limits, derivatives, integrals, etc.) and probability. Check out dirac notation too, it's used extremely often.

Is there like a real application right now of quantum cryptography?

Nice trips. Yes, there are at least 3 companies producing QKD devices and governments, militaries and banks buy it. They're very expensive. All of them are vulnerable, the guy who researches quantum hacking is Vadim Makarov, looks like Stallman a bit.

Reading this thread with very much interest.
I just finished my physics PhD a month ago and have been working in the field of integrated nanodevices for quantum computing before, and I was generally drifting more and more towards programming language theory in the last 4 years.

Right now I started professionally writing algorithms for augmented reality and I also just started a youtube channel on math, where my strategy is to bootstrap predicate logic via Curry-Howard by first speaking about the Idris programming language. I had this project running for a few years and think I got a good plan now

youtube.com/channel/UCcrSMnEYhIPX_p127jI23qw/videos

What are good booos or references for an intro to quantum nanodevices?

What are true AI guys doing these days? It seems that everyone has jumped aboard the Deep Learning bandwagon.

Why not continue the research in integrated nanodevices for quantum computing?
Seems like a really cool research area.

I see what you are going for, but it would be a superset.

*books

Theory or practice? As has been said above, you can go a long way without much quantum - just knowing exactly how a Vector Network Analyzer works implies you got enough knowledge to carry out the experiments. In QM, to get a feel for what you're doing, you gotta know what Rabi oscillations are, e.g. as presented in the book by Isaac Chuang and Michael Nielsen.

The field moves too slow. We can now factor 15 into 3 and 5 and my prediction is that in 5 years we'll still merely do academic work. Besides, three digits starting don't hurt me.

yes

>Theory or practice?

More interested in theory, but could you give me 2 -3 intro references for both (papers or books)?

I would seriously appreciate it.

- Quantum Computation book
michaelnielsen.org/qcqi/QINFO-book-nielsen-and-chuang-toc-and-chapter1-nov00-acro5.pdf
- More particularly
en.wikipedia.org/wiki/Jaynes–Cummings–Hubbard_model
- Circuit QED intro
arxiv.org/pdf/1310.1897.pdf
- On microelectronics
csun.edu/~acm31201/Old Class Work/ECE 340/Fundamentals of Microelectronics.pdf
- To get a feel, here's the latest paper of my old group
arxiv.org/pdf/1706.00376.pdf
- Here's device control panel I wrote
github.com/Nikolaj-K/lab-control-GUI

Thanks! I seriously, seriously appreciate it!

How did you get into that field, or even find a thesis topic in the first place?

Just saw your answer to
How do you go about finding a specific thesis to produce? Quantum crypto is fairly big

Thanks

Marção, é vc?

Which Math module should I take for my course?
Essential mathematics 1 or discovering mathematics?

I have no issue with maths, and i have done advanced calculus before but i don't know if i can be bothered to do it again, if im not even going to need it in the future. discovering maths would be a walk in the park.

>Freshman CS student trying to figure out which babby math course they should take without posting an outline, description, or syllabus of the courses.

wew lad

Not that guy but this is pretty cool.

This is a bit more up my alley.

Since I changed my research area very late, in my 3rd year out of 4 year programm, I'm just getting started and don't have a thesis topic yet. What I work on at the moment was suggested by my new supervisor.

I didn't have any of these courses (at least not with these names). Choose something that will interest you. I like to learn the math that's needed for the particular task related to CS on the go, whole Mathematics is too big to learn it from the ground up when you work with CS.

Working on a cool problem at work. Any ideas you have to make this faster aka do my job for me is apprechiated

Given a stream of deliveries that more of less look like this:

Delivery
- Task pickup_task
- Task dropoff_task

and tasks that look like this:

Task
- float lat
- float long
- datetime expected_time

and a cost function

cost(task, time)

that figures out the cost of having a task arrive at a certain time, and a list of delivery people

DeliveryPerson
- bool active
- Task[] tasks_to_do

figure out the best way to assign tasks to delivery people.

that's strictly harder than traveling salesman (single delivery person)

some greedy heuristics will do

I'll be starting CS the coming year.

I don't want to be some "I want to make vidya" neckbeard or mobile app pajeet, what math should I learn to supplement what I'm already learning.

aka, what math/theory did you wish learned in school that you didn't.

Drop out of CS and do literally anything else.

Really depends on what you're doing. It's a huge field and some areas care more about some types of math than others.

Dunno off the top of my head but that sounds like leaning some intro AI should help.

I'm close to graduating from a double degree program in pure math and comp sci and I'm considering applying for a masters degree. I have some background in category theory and my interests are mainly in computability and programming language theory. That said I'm pretty flexible and could see myself jumping into other areas of computer science instead (e.g. langsec, machine learning).

Is there any advice you grad students would give? Anything I should know to avoid?

Linear Algebra is typically absent from undergraduate CS curriculum. However if you ever do graduate level CS research Linear Algebra becomes a kind of lingua franca in many areas, so its a very good tool to have under your belt.

>Linear Algebra
I can't really imagine a CS course exists without linear algebra.

At this point it might as well be a vocational school.

Some universities require it (not general abstract vector spaces but specifically the vector R^n). It does come up in programming as much code and theory is often simplified through the use of "vectors" (e.g. vectorized code, computer graphics, machine learning, etc...).

Real Analysis (limits, derivatives, integrals) and proofs by induction.
Complex numbers, matrix and vector operations.

Medical imaging can be a pain in the ass because of DICOM standard, there are always some technical issues with it's implementation and looking at noisy, low res greyscale images for too long can be really depressive. That's my experience with this area. Also in machine learning people are interested in text mining - I find this not an interesting subject, seen some papers about it. But all this is from a perspective of a PhD student, on master studies this may be ok. Also, I suggest you don't work with anything directly related to hardware, I had some serious driver issues and wasn't able to work until they patched it, beware of being dependent on hardware.

Papadimitriou

so i managed to pass my neural nets module somehow, only i still dont fucking understand backpropagation on anything other than a vague conceptual level, on account of not knowing anything about calculus. what book would you guys recommend to help a retard who hasnt done math in 5 years understand derivatives and shit? because im having real fucking trouble gleaning a working understanding from wikipedia.

AI is p legit desu, almost makes me want to actually book my ideas up and become a proper student so i can do programming thats actually interesting

learn calculus my dude, if you dont know what a derivative is youll be fucked if you try and take machine learning modules. also if you do want to do any AI whatsoever, get a copy of Russel and Norvigs AI a Modern Aproach and go straight to that if you come across anything new, because 9 times out of 10 norvig is better than anything youll grab off the internet.

Taking a class on quantum computing next semm taught by a world class researcher. Im excited!

oh, this thread is great.

I'll be venturing to a MSc in CS. What 2 should I pick from these 3: cripto, data mining and parallel computing?
I'm thinking cripto and parallel computing bc I think data mining can be a bit dull
also, I wanted to work on maybe logic/programming language theory or complexity. how hard is it to produce stuff on those fields? I've got really good professors at my college in both
keep up the good thread

My MSc was related to parallel computing and GPGU and I think it's pretty interesting.
Cryptography is also very interesting, although hard sometimes (very theoretical).
I had a course on data mining and it wasn't bad, but wasn't also too interesting.
You'll learn about clustering and classifiers etc.
Useful things, but all very statistical, for example you can teach an algorithm to classify data on training set and have great efficiency on testing set, but then, when just some other data arrives the classifier may not be as good. The books on data mining I've seen were either very mathematical or very business-related like the concept of market basket analysis etc.

after Turing of course..who would you guys consider the Second greatest computer scientist of all time?

Djikstra

Gödel, Neumann, Löf

>
>
>Veeky Forums is Theory fags who only know how to talk about things, nothing for real world application. They're basically "the academic kids in the family".

Meant

since when has Godel been a computer scientist?

>Linear Algebra is typically absent from undergraduate CS curriculum.

What? Where? Every CS program in Canada that I know of requires it. The few American ones I've seen also require it.

> Every CS program in Canada that I know of requires it.
depends on what level of linear algebra we're talking about

at Queen's I took linear algebra for non-math majors which was the class that most of the CS majors took, and we didn't even cover determinants of anything bigger than 3x3

I can confirm that in Poland linear algebra is also obligatory for CS students.

Sorry for the late response.

Most of everything we use in AI has been around for quite some time. The latest developments have been with state vector machines conceived in the 60's, neural nets in the 70's and convolution nets around 2010ish. Building the AI is the easy part, creating models that it can use is difficult. My lab is stuck on problems that have very little to do with the AI and a lot to do with building a model that the AI can utilize. Questions rooted in ontology, epistemology, natural language processing, abstract taxonomy, etc are tough barriers to cross. Solving one problem almost always requires a whole rework of the model.

It is important to understand that deep learning machines are a great tool but not required for most problems. Neural nets are a neat trick but they require a vast amount of training data with convergence and accuracy not guaranteed. The good part about a NN is that after it is trained the processing of information is very quick. A key factor in creating a successful AI lies with picking the right tools for the job and deep learning is typically not the practical or optimal approach.

I'm happy to answer any questions I can but deep learning systems aren't my specialty.

Computability theory isn't dead. Also, Computability theorist tend to be in the math department. At my school, there have been several computability theory mathematicians in the mathematics department. Have you ever heard of Reverse math? That is not a topic in computability theory taught to CS students.

en.wikipedia.org/wiki/Reverse_mathematics

If you want to do research in computability theory then look at places like Berkeley, Notre Dame, Wisconsin, Waterloo, Cornell, Vanderbilt, Chicago, Dartmouth.

Computability theory and Reverse mathematics are different things. I don't think I've ever heard computer science people poking into reverse mathematics unless they're also into analytic philosophy and foundations of mathematics.

I agree that computability isn't dead but at my university it's all done within the computer science department, together with category theory, homotopy theory, and programming language theory.

user from the last post you linked to here, could you point to any books on calculus that would help me get a proper understanding of what im looking at when i read the math expressions in textbooks and other sources?

At my school the computability theorist studied reverse mathematics. Some of the stuff I've seen them work on intersects with Ramsey theory. None of my theoretical CS courses covered Ramsey theory, Reverse Math, Infinite Marriage Problems, Turing jumps etc.

My TCS courses practically mentions Computability theory: Rice's theorem and all the classics... but they don't go deeply into it as Computational Complexity theory and Algorithmic Complexity.

Penn, CMU, Wellesley are more of the schools that you're talking about. The ones I'm talking about have a different focus.

What I am saying is, the math department teaches computability theory differently than how it's taught in the cs department-- but that is probably because there are actual math people there that focus on computability theory within the math department.

The schools you're talking about where they focus on category theory, programming language, theory, homotopy type theory are found at places like Penn, CMU, Wellesley

>Computability theory and Reverse mathematics are different things. I don't think I've ever heard computer science people poking into reverse mathematics unless they're also into analytic philosophy and foundations of mathematics.

Please take a look at this: math.berkeley.edu/~antonio/slides/CompThyh.pdf

He was right there at the beginning, parallel to Turing, and even stuff like P vs. NP traces back to questions he asked.
And, of course, the whole uncomputability spiel is essentally his child

>tfw 2nd year PhD CS student researching pure subjects like logic programming and machine learning

feelsgoodman

How do I make my own quantum proof scaling bitcoin meme?

Anyone thinking about this?

>AI researcher

You mean shitty constraint functions/heuristics or actual ML algorithms that you design
that aren't weka or something similar?

>needing to go through all of calculus
Just calculate the derivs for anything you'd use as an activation function
iirc for the most common one, tanh(x)
D[tanh(x)]=1-tanh(x)^2
and thats all the calc you need, the rest is stats

you dont understand, i dont know what the fuck a derivative actually is

sounds like a classic optimization problem. Look into stuff like job shop scheduling problem or knapsack problem for inspiration

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"""""""""""""""""""""""""""""""""""""""""CCCCCCCCCCCCOMPUTTTTTTTTTTTER"""""""""""""""""""""""""""""" """"""""""""""""""""""""""SCIENCEEE"""""""""""""""""""""""""""""" AHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA THERE IS NO MORE PATHETIC FIELD HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA

Are you at MIM?

I have one question

would you guys say P vs. NP is the holy grail of computer science like the Riemann Hypothesis is to math?

I need to learn algebra I II, trigonometry, calculus I II, physics I, linear algebra, discrete math and basic graph theory before december.

I do plan on learning to make games.
Any advice on how do I acomplish this?

What other math should I learn as well to make games?

A derivative is a fancy word for the slope of a line at a point, the rate of change

Like for the line
1x derivative is => 1
2x => 2
3x => 3

x^2=> 2x
2x^2=> 4x
3x^2=> 6x

x^3=> 3x^2
2x^3=> 6x^2
3x^3=> 9x^2

See a pattern here?

>I do plan on learning to make games.
Drop out and learn unity.

yes, bascially

is P vs. NP more difficult than the Riemann Hypothesis?

i just dont feel like i fully get it m8, im gonna need a proper book on this shit

I would start with something on set theory then pick up something on prepositional logic and maybe something on formal proofs. It is something you should pick up incrementally while in school but if school isn't an option then I would start with the appendices of maybe an algebra or precal textbook. Also, what kind of calculus?

Using a svm to predict the direction of a conversation, developing a convolution net to analyze facial expressions, acoustic waveform, and some state logic for everything else. Most of my research involves nlp, model order, and parallelization. No use for deep learning systems in our work.

im a graduate man, i get set theory and shit, just not nonlinear mathmatics shit

Woops, didn't answer your question. A derivative is just a measure of a rate of change. Geometrically this is represented by a tangent line somewhere on a function which is the rate of change of the function at that value. Maybe check out the MITOCW videos on differential calculus. I think they go over the proofs or something.
youtube.com/watch?v=7K1sB05pE0A&list=PL590CCC2BC5AF3BC1

Because I don't hate you user, I went looking through some of my books and here is one that explains notation and statement meanings. Its a nice refresher at the very least.
HOW TO PROVE IT, A Structured Approach, Second Edition, Daniel J. Velleman, Department of Mathematics and Computer Science, Amherst College, ISBN-13 978-0-521-86124-3

Also found this, specifically for calc
ISBN 0-914098-89-6

>Please take a look at this: math.berkeley.edu/~antonio/slides/CompThyh.pdf

Thank you for digging up a resource for me, user. I was previously under the impression that Reverse Mathematics was primarily approached from a logic/model theory perspective (and after skimming Stephen Simpson's book it looked hard af).

>I need to learn algebra I II, trigonometry,
Buy some CliffsNotes books on those from amazon. You should be able to read them in a couple weeks. Maybe pick up a geometry CliffsNotes book as well (the CliffsNotes books omit proofs and stick to general concepts, theorems, and techniques so they move much faster than a normal course).
>calculus I II, linear algebra,
This really depends on why you need to know the material. Like if you just need to understand and know how to apply the concepts to other areas then it's completely different than if you will need to understand the formal theory behind them so that you can take higher level math courses (e.g. analysis, abstract algebra, etc...).
>physics I
no idea, watch some MIT OCW or something idk lol
>discrete math and basic graph theory before december.
This one also kind of depends. Typically discrete math courses are used as an introduction to proofs course at universities so they're not really about discrete math so much as they are about learning how to think about math logically. These courses also typically give a brief introduction into graph theory. Some comp sci courses/books out there go deeper into discrete math proper but from an algorithmic perspective, this may or may not be relevant to your interests. Graph Theory courses typically also spend time doing combinatorics but most of the sorts of results and problems they cover in these courses are maybe not relevant to your interests (stuff like graph coloring for instance).

More info required.

Go to they will give you better advice if you want to live the plebby lifestyle of an amateur game developer.