I have a habit of generating too many questions and ideas, but do not have a habit of filtering them by their insightfulness, quality, or concreteness. Here assembled is such an unfiltered collection, of which a small fraction may prove to be valuable or interesting.


--- Long ---

Pseudorandom Data Structure (and Data Types)

Suppose that instead of a random bit string, we want to generate a pseudorandom instance of a data structure (e.g. a bipartite graph, a binary tree, a spreadsheet). One approach would be to ``deserialize" the random bit string into instances of whatever data structure we might want, but dealing with bit strings at all seems somewhat ad hoc if we are only concerned with our high-level data structure. Is it possible to create a domain-specific language for writing pseudo-random generators for arbitrary data types or data structures? When composing pseudorandom generators it is important that no part of a seed or generator output is reused or in any way detectable in the final pseudorandom output. Could linear types be applied in developing a type system for such a DSL? How will recursion be handled?


Computational Costs of Combinatorial Auctions and Participant Utilities

Suppose a combinatorial auction allows each bidder to specify a preference from a very large space. If the bidders' utility depends on the time taken to compute an outcome to the auction, it may have an interest in simplifying the preference it submits. Effectively, the bidder is actually bidding for a more restricted selection of outcomes (those which are efficiently computable). Can this be converted into an incentive compatible arrangement (there would probably need to be other restrictions)?


Cryptography with Non-homogenous Resources

Suppose there exist no one-way functions and no trap-door functions. It may still be possible to perform encryption without resorting to the one-time pad if a receiver invests a large amount of computational resources (relative to any eavesdropper) into solving a large class of difficult problems, and if it is possible for a sender to efficiently construct a problem from this class for which the sender's message is the solution. Obviously, this does not work if all polynomial-time computable functions are efficiently invertible or if the sender uses some easily-determined process for converting a message into a problem. For example, the sender might construct a position in linear chess (or just a TM) to compute the message in exponetial time.

--- Short ---

What is the relationship between kinds and Haskell type classes?

What are the relationships between programming languages and conceptual-level AI representation techniques?

Can algebraic data types be extended to include axioms and partial orders?

What are the categorical models of extensions to algebraic datatypes (Nested, Generalized, Restricted)? Which ADT extensions are most natural? Which are most useful?

Can specialized neural networks be used to effectively compress conceptual data (e.g. hierarchies)?

Is it possible to build a Prolog-like language for a restricted form of higher-order logic?