## Is this a graph theory problem?

My basic problem includes a graph where each node $$i$$ is associated with a weight $$c_i$$, and the problem is to find a minimum (or maximum) weighted independent set with a fixed cardinality $$p$$. This is I believe a well-known problem in graph theory that is well-studied for different types of graphs.

Now, suppose I am dealing with a generalized form of the problem as following. The weight of each node can take $$p$$ different values, that is each node is associated with $$p$$ different weights. The aim is again to find a minimum (or maximum) weighted independent set with a fixed cardinality $$p$$, however, each type of weight can be selected only once. Precisely, if the weight type $$j$$ is selected for the node $$i$$, i.e., we select the weight $$c_{ij}$$, then the other selected nodes cannot take a weight of type $$j$$.

My question is that, is this still a graph theory problem? Is it a known generalization in the graph theory problems?

Any help and/or reference is appreciated.

## Halting problem theory vs. practice

It is often asserted that the halting problem is undecidable. And proving it is indeed trivial.

But that only applies to an arbitrary program.

Has there been any study regarding classes of programs humans usually make?

It can sometimes be easy to analyze a program and enumerate all of its degrees of freedom and conclude that it will halt.

For example, has there ever been an effort to create a programming language (scripting really) that guarantees halting? It would not be widely applicable but could still be useful for mission critical modules.

## Consistent theory based on L and not(A->A) is a theorem

I am working on this problem in which I have a theory T based on L language and the only information we have is that T is consistent and |- not(A -> A). Given this information, how can I know if this theory is sound, complete and/or decidable?

My only guess is that I can say that T is sound because since T is consistent and we can derive not(A->A) from axioms and inference rules, not(A->A) is a theorem and because of that we can assume that T is sound (because the premises and conclusions are true).

Thank you!

## Any reason why Turing Machine would prevail on recursion theory?

Nowadays, most introduction books, videos, and comments about theoretical computer science talk about Turing machines but don’t discuss recursion theory anymore. These approaches are known to be equivalent.

What is the reason behind this? Has recursion theory simply gone out of fashion or is there a fundamental/mathematical reason explaining this?

## Is Group Theory useful in Computer Science in other areas but cryptography?

I have heard many times that Group Theory is highly important in Computer Science, but does it have any use other than cryptography? I tend to believe that it does have many other usages, but cannot find out where and how to apply Group Theory to other areas in CS, such as algorithms, data structres, graphs, complexity and so forth.

## Ramsey Theory Check

So, I want to create a program that would check if a graph contains a complete sub-graph (more in the Party Problem) and my point is to prove that the computer fails to do so quickly as the number of graph’s vertices increase. So far, I have come up with only this code, but it doesn’t work for some reason. Any suggestions?

   RamseyNumber[k_, l_] := Module[{i = 3, r = 0},   While[    i <= Length[list] && r == 0,    If[((#[[1]] >= k || #[[2]] >= l) & /@       (And @@ list[[i]])), r = i, i++]    ]; r   ]  RamseyNumber[n_] := RamseyNumber[n, n]  Timing[  in = Table[     Length /@ MaximumIndependentSet /@ Graphs[n], {n, 8}     ];  ] 

## Books for the Mathematical Theory of AI/ML

I am interested in the mathematical foundations of Artificial Intelligence and Machine Learning. Are there any books which will describe and present the mathematical foundations in detail? I am not that interested in coding and would prefer a text which is heavy in mathematics and the theory.

## Can Homotopy Type Theory be used to derive more efficient algorithms on more efficient data representations from less efficient ones?

I’ve read here that in HoTT, compilers could swap out less efficient representations of data for more efficient ones and I’m wondering whether my interpretation of this statement is correct.

Say we have two different ways of representing the natural numbers, unary (zero and successor) and binary. Here is a function that checks evenness on the former representation:

even : UnaryNat -> Bool even zero = true even (succ zero) = false even (succ (succ n)) = even n 

If we then have an isomorphism between the unary and binary representations, we trivially get an evenness function for the binary representation “for free”, simply by converting a given binary natural number to a unary one, applying the even function, and converting the result back to the binary representation. Obviously, this is not very efficient, and we also don’t need HoTT for this.

A better way to check whether a binary natural number is even would be to check if its least significant digit is a zero. My question is: Could we derive this more efficient algorithm for binary natural numbers from our definition of evenness for unary natural numbers using HoTT? If so, would this also be possible for other data types? I haven’t studied any HoTT yet and since its appears to be a pretty complex subject I would like to find out whether it’s as exciting as I think it is. Thanks!

## Where is the theory about “binary toggling games”?

Let us — using parameters $$M, N$$ and $$L$$

1. create an ordered set of size $$M$$ of $$N$$-bit long vectors $$V$$ and initialize them randomly: $$V_k[i] = b \sim Bin(n=1, p=0.5)\ \forall i \in \{0\ ..\ N-1\}, \forall k \in \{0\ ..\ M-1\}$$.

2. create an N-bit long vector $$A_0$$ and initialize it to ones.

3. create an $$M$$-bit long vector $$S$$ and initialize it randomly in the same manner as any $$V_k$$.

4. for $$i$$ from $$0$$ to $$M$$, if $$S[i] = 1$$, then $$A_i = A_{i-1} \oplus V_k$$, otherwise $$A_i = A_{i-1}$$, resulting in $$A_M$$ after $$M$$ steps

5. present an agent/player with $$A_M$$ together with all vectors $$V_k$$ and make him return $$S$$ or the set of indices of vector $$S$$ where $$S[i] = 1$$. It follows that $$A_M \oplus V_{i_0} \oplus V_{i_1} \oplus V_{i_2} \oplus\ …\ \oplus V_{i_{last}} = A_0$$.

A simple example with $$N=4$$ and $$M=3$$:

$$A_M = [0, 1, 0, 1]$$, $$V_0 = [1, 1, 0, 1]$$, $$V_1 = [0, 0, 1, 1]$$, $$V_2 = [0, 1, 1, 1]$$

solution $$\rightarrow S = [1, 0, 1],$$ because $$A_M \oplus V_0 \oplus V_2 = [1, 1, 1, 1]$$

This problem occurs in many games I have encountered and never really gave it much thought, until now. For the purpose of this question, I have called it the “binary toggling game”.

What I wonder is:

• what are “binary toggling games” really called
• what is the theory being them: algorithms, their complexity (classes), edge cases, etc.